UNPKG

antd-hz

Version:

华卓科技基于 antd 5.0 定制的组件库

54 lines (53 loc) 1.94 kB
"use client"; import * as React from 'react'; import { EXPAND_COLUMN, Summary } from 'rc-table'; import Column from './Column'; import ColumnGroup from './ColumnGroup'; import { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection'; import InternalTable from './InternalTable'; const Table = (props, ref) => { const renderTimesRef = React.useRef(0); renderTimesRef.current += 1; let { pagination } = props; const { dataSource } = props; const PAGE_NUM = 5; const PROPS_ADD_TO_PAGINATION = { showSizeChanger: true, showQuickJumper: true }; if (pagination && typeof pagination === 'object') { // 超过5页显示跳转 const { pageSize = 10, total = (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) || 0 } = pagination; const pageIsOver = !!(pageSize && total && total / pageSize >= PAGE_NUM); if (pageIsOver) { pagination = Object.assign(Object.assign({}, PROPS_ADD_TO_PAGINATION), pagination); } } else if (pagination === undefined && ((dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) || 0) / 10 >= PAGE_NUM) { pagination = Object.assign({}, PROPS_ADD_TO_PAGINATION); } return /*#__PURE__*/React.createElement(InternalTable, Object.assign({}, props, { pagination: pagination, ref: ref, _renderTimes: renderTimesRef.current })); }; const ForwardTable = /*#__PURE__*/React.forwardRef(Table); ForwardTable.SELECTION_COLUMN = SELECTION_COLUMN; ForwardTable.EXPAND_COLUMN = EXPAND_COLUMN; ForwardTable.SELECTION_ALL = SELECTION_ALL; ForwardTable.SELECTION_INVERT = SELECTION_INVERT; ForwardTable.SELECTION_NONE = SELECTION_NONE; ForwardTable.Column = Column; ForwardTable.ColumnGroup = ColumnGroup; ForwardTable.Summary = Summary; if (process.env.NODE_ENV !== 'production') { ForwardTable.displayName = 'Table'; } export default ForwardTable;