UNPKG

ps-frame-father

Version:

An enterprise-class UI design language and React components implementation

49 lines (41 loc) 1.72 kB
import "antd/es/input/style"; import _Input from "antd/es/input"; import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; var _excluded = ["value", "onChange", "isTextArea"]; import React, { useState } from 'react'; // 会清除前后空格的输入框组件:支持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 = _objectWithoutProperties(props, _excluded); var _useState = useState(''), _useState2 = _slicedToArray(_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 = _objectSpread({ value: value || inputValue, onChange: handleChange, onBlur: handleBlur }, otherProps); return isTextArea ? /*#__PURE__*/React.createElement(_Input.TextArea, allProps) : /*#__PURE__*/React.createElement(_Input, allProps); } ; export default BasicInput;