mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
38 lines • 1.9 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["value", "defaultValue", "color", "size", "prefix", "suffix", "whitespaceLineBreak", "className", "style"];
import React from 'react';
import { isNil, isUndefined } from 'ut2';
import classNames from 'classnames';
import { fieldPrefixClass } from "../../config";
var prefixCls = "".concat(fieldPrefixClass, "-text");
var TextField = function TextField(_ref) {
var value = _ref.value,
_ref$defaultValue = _ref.defaultValue,
defaultValue = _ref$defaultValue === void 0 ? '-' : _ref$defaultValue,
color = _ref.color,
size = _ref.size,
prefix = _ref.prefix,
suffix = _ref.suffix,
_ref$whitespaceLineBr = _ref.whitespaceLineBreak,
whitespaceLineBreak = _ref$whitespaceLineBr === void 0 ? false : _ref$whitespaceLineBr,
className = _ref.className,
style = _ref.style,
restProps = _objectWithoutProperties(_ref, _excluded);
var valueIsEmpty = isNil(value) || value === '';
var view = !valueIsEmpty && typeof value === 'string' && whitespaceLineBreak ? /*#__PURE__*/React.createElement("span", {
dangerouslySetInnerHTML: {
__html: value.replace(/\s+/g, '<br/>')
}
}) : value;
return /*#__PURE__*/React.createElement("span", _extends({
className: classNames(prefixCls, _defineProperty({}, "".concat(prefixCls, "-empty"), valueIsEmpty), className),
style: color || !isUndefined(size) ? _objectSpread({
color: color,
fontSize: size
}, style) : style
}, restProps), valueIsEmpty ? defaultValue : /*#__PURE__*/React.createElement(React.Fragment, null, prefix, view, suffix));
};
export default TextField;