linkmore-design
Version:
🌈 🚀lm组件库。🚀
65 lines (62 loc) • 1.67 kB
JavaScript
;
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 _controls = _interopRequireDefault(require("../../controls"));
const Item = /*#__PURE__*/_react.default.memo(({
item,
instance
}) => {
// 若不显示则返回null
if (item.show === false) return null;
const {
getFilterValue,
setFilterValue
} = instance;
const {
data,
props: itemProps,
componentProps,
...restItem
} = item;
const filterValue = (0, _react.useMemo)(() => {
return getFilterValue?.(item);
}, [getFilterValue, item]);
// 参数重组, 与Contols参数保持一致
const resetItem = {
...restItem,
value: filterValue,
onChange: val => setFilterValue(val, item),
options: data,
componentProps: itemProps || componentProps
};
// 寻找对应控件
return /*#__PURE__*/_react.default.createElement(_controls.default, resetItem);
});
const List = ({
dataSource,
instance
}) => {
return dataSource.map((v, index) => /*#__PURE__*/_react.default.createElement(Item, {
key: v?.field || index,
item: v,
instance: instance
}));
};
const Basic = ({
instance
}) => {
const {
dataSource
} = instance;
return /*#__PURE__*/_react.default.createElement(List, {
dataSource: dataSource,
instance: instance
});
};
var _default = /*#__PURE__*/_react.default.memo(Basic);
exports.default = _default;