| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- import React from 'react';
 
- import PropTypes from 'prop-types';
 
- import NormalTable from './Table';
 
- import ResizableTable from './ResizableTable';
 
- import Column from './Column';
 
- import { strings } from '@douyinfe/semi-foundation/table/constants';
 
- import { TableProps, Data } from './interface';
 
- class Table<RecordType extends Record<string, any> = Data> extends React.PureComponent<TableProps<RecordType>> {
 
-     static Column = Column;
 
-     static DEFAULT_KEY_COLUMN_SELECTION = strings.DEFAULT_KEY_COLUMN_SELECTION;
 
-     static DEFAULT_KEY_COLUMN_EXPAND = strings.DEFAULT_KEY_COLUMN_EXPAND;
 
-     static propTypes = {
 
-         ...NormalTable.propTypes,
 
-         resizable: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),
 
-     };
 
-     static defaultProps = {
 
-         hideExpandedColumn: true,
 
-     };
 
-     tableRef: React.RefObject<NormalTable<RecordType>>;
 
-     constructor(props: TableProps) {
 
-         super(props);
 
-         this.tableRef = React.createRef();
 
-     }
 
-     getCurrentPageData = () => this.tableRef.current && this.tableRef.current.getCurrentPageData();
 
-     render() {
 
-         // eslint-disable-next-line prefer-destructuring
 
-         const props = this.props;
 
-         if (props.resizable) {
 
-             return <ResizableTable {...props} ref={this.tableRef} />;
 
-         } else {
 
-             return <NormalTable<RecordType> {...props} ref={this.tableRef} />;
 
-         }
 
-     }
 
- }
 
- export * from './interface';
 
- export default Table;
 
 
  |