UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

64 lines (61 loc) 2.09 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _PictureTextColumn = _interopRequireDefault(require("../card/PictureTextColumn")); var _PictureTextRow = _interopRequireDefault(require("../card/PictureTextRow")); var _PictureTextRowOperate = _interopRequireDefault(require("../card/PictureTextRowOperate")); const LmCardTableBodyCell = ({ index, cell, table }) => { const { state, type, components, cellKey } = table; const { checkboxConfig: { checkKeys }, radioConfig } = state; // 渲染的单元格 const RenderCell = (0, _react.useMemo)(() => { const types = { 'PTC': _PictureTextColumn.default, 'PTR': _PictureTextRow.default, 'PTRO': _PictureTextRowOperate.default }; return components.Cell || types[type] || _PictureTextColumn.default; }, [components.Cell, type]); // 是否选中 const isCheckboxChecked = (0, _react.useMemo)(() => { return checkKeys.some(v => v === cell[cellKey]); }, [checkKeys, cellKey]); const isRadioChecked = (0, _react.useMemo)(() => { return radioConfig.checkKey === cell[cellKey]; }, [cellKey, radioConfig.checkKey]); const stateConfig = { checked: isCheckboxChecked }; return /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)('lm_card_table_body_cell', { 'cell_checked': isCheckboxChecked || isRadioChecked }) }, /*#__PURE__*/_react.default.createElement(RenderCell, (0, _extends2.default)({ index: index, cell: cell, table: table }, stateConfig))); }; var _default = LmCardTableBodyCell; exports.default = _default;