ps-frame-father
Version:
An enterprise-class UI design language and React components implementation
66 lines (49 loc) • 2.24 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("antd/es/input/style");
var _input = _interopRequireDefault(require("antd/es/input"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _excluded = ["value", "onChange", "isTextArea"];
// 会清除前后空格的输入框组件:支持input和textarea
function BasicInput(props) {
// isTextArea: true是TextArea,false是普通Input
var value = props.value,
onChange = props.onChange,
_props$isTextArea = props.isTextArea,
isTextArea = _props$isTextArea === void 0 ? false : _props$isTextArea,
otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var _useState = (0, _react.useState)(''),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
inputValue = _useState2[0],
setInputValue = _useState2[1];
var triggerChange = function triggerChange(changedValue) {
onChange === null || onChange === void 0 ? void 0 : onChange(changedValue);
};
var handleChange = function handleChange(e) {
var val = e.target.value;
setInputValue(val);
triggerChange(val);
};
var handleBlur = function handleBlur() {
var trimVal = value || inputValue ? (value || inputValue).replace(/^\s+|\s+$/gm, '') : '';
setInputValue(trimVal);
triggerChange(trimVal);
};
var allProps = (0, _objectSpread2.default)({
value: value || inputValue,
onChange: handleChange,
onBlur: handleBlur
}, otherProps);
return isTextArea ? /*#__PURE__*/_react.default.createElement(_input.default.TextArea, allProps) : /*#__PURE__*/_react.default.createElement(_input.default, allProps);
}
;
var _default = BasicInput;
exports.default = _default;