UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

46 lines (45 loc) 2.35 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _antd = require("antd"); var _qtPublicHooks = require("qt-public-hooks"); var _excluded = ["needControl", "limit", "onChange", "defaultValue", "value"]; var _default = exports["default"] = function _default(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 = (0, _objectWithoutProperties2["default"])(props, _excluded); var _useControllable = (0, _qtPublicHooks.useControllable)(props, { formatter: function formatter(val) { return limit && limit > 0 ? val === null || val === void 0 ? void 0 : val.slice(0, limit) : val; }, useEvent: true }), _useControllable2 = (0, _slicedToArray2["default"])(_useControllable, 2), value = _useControllable2[0], setValue = _useControllable2[1]; return /*#__PURE__*/_react["default"].createElement("span", { className: "umui-textarea" }, needControl ? /*#__PURE__*/_react["default"].createElement(_antd.Input.TextArea, (0, _extends2["default"])({}, antProps, { onChange: onChange, value: antValue })) : /*#__PURE__*/_react["default"].createElement(_antd.Input.TextArea, (0, _extends2["default"])({}, antProps, { onChange: setValue, value: value })), limit && limit > 0 && limit < Infinity && /*#__PURE__*/_react["default"].createElement("div", { className: (0, _classnames["default"])('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)); };