UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

50 lines (48 loc) 1.53 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import React, { useMemo } from 'react'; import cn from 'classnames'; import PTC from "../card/PictureTextColumn"; import PTR from "../card/PictureTextRow"; import PTRO from "../card/PictureTextRowOperate"; var LmCardTableBodyCell = function LmCardTableBodyCell(_ref) { var index = _ref.index, cell = _ref.cell, table = _ref.table; var state = table.state, type = table.type, components = table.components, cellKey = table.cellKey; var checkKeys = state.checkboxConfig.checkKeys, radioConfig = state.radioConfig; // 渲染的单元格 var RenderCell = useMemo(function () { var types = { 'PTC': PTC, 'PTR': PTR, 'PTRO': PTRO }; return components.Cell || types[type] || PTC; }, [components.Cell, type]); // 是否选中 var isCheckboxChecked = useMemo(function () { return checkKeys.some(function (v) { return v === cell[cellKey]; }); }, [checkKeys, cellKey]); var isRadioChecked = useMemo(function () { return radioConfig.checkKey === cell[cellKey]; }, [cellKey, radioConfig.checkKey]); var stateConfig = { checked: isCheckboxChecked }; return /*#__PURE__*/React.createElement("div", { className: cn('lm_card_table_body_cell', { 'cell_checked': isCheckboxChecked || isRadioChecked }) }, /*#__PURE__*/React.createElement(RenderCell, _extends({ index: index, cell: cell, table: table }, stateConfig))); }; export default LmCardTableBodyCell;