UNPKG

fx-form-widget

Version:
64 lines 2.52 kB
import _Input from "antd/es/input"; import _extends from "@babel/runtime/helpers/extends"; import * as React from 'react'; import { useState } from 'react'; import { isNotNullValue } from './tools'; import './index.less'; var InputSearch = function InputSearch(_ref) { var _ref$schema = _ref.schema, schema = _ref$schema === void 0 ? {} : _ref$schema, _ref$onChange = _ref.onChange, onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange, _ref$value = _ref.value, value = _ref$value === void 0 ? isNotNullValue(schema.data) ? schema.data : undefined : _ref$value; var _schema$readonly = schema.readonly, readonly = _schema$readonly === void 0 ? false : _schema$readonly, _schema$placeholder = schema.placeholder, placeholder = _schema$placeholder === void 0 ? '请输入' : _schema$placeholder, _schema$minLength = schema.minLength, minLength = _schema$minLength === void 0 ? undefined : _schema$minLength, _schema$maxLength = schema.maxLength, maxLength = _schema$maxLength === void 0 ? undefined : _schema$maxLength, _schema$allowClear = schema.allowClear, allowClear = _schema$allowClear === void 0 ? false : _schema$allowClear, _schema$addonBefore = schema.addonBefore, addonBefore = _schema$addonBefore === void 0 ? undefined : _schema$addonBefore, _schema$addonAfter = schema.addonAfter, addonAfter = _schema$addonAfter === void 0 ? undefined : _schema$addonAfter; var _useState = useState(''), inputValue = _useState[0], setInputValue = _useState[1]; var defaultOptions = {}; if (schema['ui_options']) { Object.keys(schema['ui_options']).forEach(function (key) { defaultOptions[key] = schema['ui_options'][key]; }); } var handleSearch = function handleSearch(value) { return onChange(value); }; var handleChange = function handleChange(e) { setInputValue(e.target.value); if (!e.target.value) { onChange(e.target.value); } }; var options = _extends({ placeholder: placeholder, maxLength: maxLength, allowClear: allowClear, addonBefore: addonBefore, addonAfter: addonAfter, minLength: minLength, disabled: readonly, suffix: maxLength ? value.length + "/" + maxLength : undefined }, defaultOptions); return /*#__PURE__*/React.createElement(_Input.Search, _extends({ type: "text", onSearch: handleSearch, onChange: handleChange }, options, { value: inputValue || value })); }; export default InputSearch;