UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

37 lines 1.72 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; var _excluded = ["needControl", "limit", "onChange", "defaultValue", "value"]; import React from 'react'; import classnames from 'classnames'; import { Input } from 'antd'; import { useControllable } from 'qt-public-hooks'; export default (function (props) { var _props$needControl = props.needControl, needControl = _props$needControl === void 0 ? false : _props$needControl, limit = props.limit, onChange = props.onChange, defaultValue = props.defaultValue, antValue = props.value, antProps = _objectWithoutPropertiesLoose(props, _excluded); var _useControllable = useControllable(props, { formatter: function formatter(val) { return limit && limit > 0 ? val === null || val === void 0 ? void 0 : val.slice(0, limit) : val; }, useEvent: true }), value = _useControllable[0], setValue = _useControllable[1]; return /*#__PURE__*/React.createElement("span", { className: "umui-textarea" }, needControl ? /*#__PURE__*/React.createElement(Input.TextArea, _extends({}, antProps, { onChange: onChange, value: antValue })) : /*#__PURE__*/React.createElement(Input.TextArea, _extends({}, antProps, { onChange: setValue, value: value })), limit && limit > 0 && limit < Infinity && /*#__PURE__*/React.createElement("div", { className: classnames('umui-textarea-counter', { 'umui-counter-limit': (value === null || value === void 0 ? void 0 : value.length) === limit }) }, (value === null || value === void 0 ? void 0 : value.length) || 0, "/", limit)); });