UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

62 lines (60 loc) 1.85 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _InputSearchClose = _interopRequireDefault(require("../components/InputSearchClose")); const FuzzySearch = ({ instance }) => { const inputRef = (0, _react.useRef)(null); const { state, setFilterValue, setSearchFilter, size, placeholder, searchKey, searchConfig, locale } = instance; // 默认值, 不同searchKey类型时获取的方式不同 const defaultValue = (0, _react.useMemo)(() => { const nValue = Array.isArray(searchKey) ? state.searchFilter?.[searchKey[0]] : state.basicFilter?.[searchKey]; return nValue || ''; }, [state.basicFilter, state.searchFilter, searchKey]); const onSearch = val => { const isFuzzy = Array.isArray(searchKey); const item = { ...searchConfig, field: searchKey }; if (isFuzzy) { setSearchFilter(val); } else { setFilterValue(val, item); } }; (0, _react.useEffect)(() => { if (!defaultValue) { inputRef.current.setValue(''); } else { inputRef.current.setValue(defaultValue); } }, [state.basicFilter, state.searchFilter]); return /*#__PURE__*/_react.default.createElement("div", { className: "lm_filter_search" }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, { ref: inputRef, allowClear: true, defaultValue: defaultValue, size: size, placeholder: placeholder || locale.placeholder, onSearch: onSearch })); }; var _default = FuzzySearch; exports.default = _default;