UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

53 lines (51 loc) 1.87 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; var _excluded = ["data", "props", "componentProps"]; import React, { useMemo } from 'react'; import Controls from "../../controls"; var Item = /*#__PURE__*/React.memo(function (_ref) { var item = _ref.item, instance = _ref.instance; // 若不显示则返回null if (item.show === false) return null; var getFilterValue = instance.getFilterValue, setFilterValue = instance.setFilterValue; var data = item.data, itemProps = item.props, componentProps = item.componentProps, restItem = _objectWithoutProperties(item, _excluded); var filterValue = useMemo(function () { return getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(item); }, [getFilterValue, item]); // 参数重组, 与Contols参数保持一致 var resetItem = _objectSpread(_objectSpread({}, restItem), {}, { value: filterValue, onChange: function onChange(val) { return setFilterValue(val, item); }, options: data, componentProps: itemProps || componentProps }); // 寻找对应控件 return /*#__PURE__*/React.createElement(Controls, resetItem); }); var List = function List(_ref2) { var dataSource = _ref2.dataSource, instance = _ref2.instance; return dataSource.map(function (v, index) { return /*#__PURE__*/React.createElement(Item, { key: (v === null || v === void 0 ? void 0 : v.field) || index, item: v, instance: instance }); }); }; var Basic = function Basic(_ref3) { var instance = _ref3.instance; var dataSource = instance.dataSource; return /*#__PURE__*/React.createElement(List, { dataSource: dataSource, instance: instance }); }; export default /*#__PURE__*/React.memo(Basic);