@douyinfe/semi-ui
Version:
A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.
105 lines (104 loc) • 6.35 kB
TypeScript
import React from 'react';
import PropTypes from 'prop-types';
import NormalTable from './Table';
import Column from './Column';
import { TableProps, Data } from './interface';
import { ContextValue } from '../configProvider/context';
declare class Table<RecordType extends Record<string, any> = Data> extends React.PureComponent<TableProps<RecordType>> {
static Column: typeof Column;
static DEFAULT_KEY_COLUMN_SELECTION: "column-selection";
static DEFAULT_KEY_COLUMN_EXPAND: "column-expand";
static propTypes: {
resizable: PropTypes.Requireable<NonNullable<boolean | object>>;
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
prefixCls: PropTypes.Requireable<string>;
components: PropTypes.Requireable<any>;
bordered: PropTypes.Requireable<boolean>;
loading: PropTypes.Requireable<boolean>;
size: PropTypes.Requireable<"default" | "small" | "middle">;
tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
columns: PropTypes.Requireable<PropTypes.InferProps<{
align: PropTypes.Requireable<"center" | "left" | "right">;
className: PropTypes.Requireable<string>;
colSpan: PropTypes.Requireable<number>;
dataIndex: PropTypes.Requireable<string>;
defaultSortOrder: PropTypes.Requireable<"ascend" | "descend">;
filterChildrenRecord: PropTypes.Requireable<boolean>;
filterDropdownProps: PropTypes.Requireable<object>;
filterDropdown: PropTypes.Requireable<PropTypes.ReactNodeLike>;
filterDropdownVisible: PropTypes.Requireable<boolean>;
filterIcon: PropTypes.Requireable<(...args: any[]) => any>;
filterMultiple: PropTypes.Requireable<boolean>;
filteredValue: PropTypes.Requireable<any[]>;
filters: PropTypes.Requireable<any[]>;
fixed: PropTypes.Requireable<boolean | "left" | "right">;
onCell: PropTypes.Requireable<(...args: any[]) => any>;
onFilter: PropTypes.Requireable<(...args: any[]) => any>;
onFilterDropdownVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
onHeaderCell: PropTypes.Requireable<(...args: any[]) => any>;
onSorterChange: PropTypes.Requireable<(...args: any[]) => any>;
render: PropTypes.Requireable<(...args: any[]) => any>;
renderFilterDropdownItem: PropTypes.Requireable<(...args: any[]) => any>;
sortChildrenRecord: PropTypes.Requireable<boolean>;
sortDirections: PropTypes.Requireable<string[]>;
sortOrder: PropTypes.Requireable<NonNullable<string | boolean>>;
sorter: PropTypes.Requireable<NonNullable<boolean | ((...args: any[]) => any)>>;
title: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>>;
useFullRender: PropTypes.Requireable<boolean>;
width: PropTypes.Requireable<NonNullable<string | number>>;
showSortTip: PropTypes.Requireable<boolean>;
}>[]>;
hideExpandedColumn: PropTypes.Requireable<boolean>;
id: PropTypes.Requireable<string>;
expandIcon: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>>;
expandCellFixed: PropTypes.Requireable<boolean | "left" | "right">;
title: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>>;
onHeaderRow: PropTypes.Requireable<(...args: any[]) => any>;
showHeader: PropTypes.Requireable<boolean>;
indentSize: PropTypes.Requireable<number>;
rowKey: PropTypes.Requireable<NonNullable<string | number | ((...args: any[]) => any)>>;
onRow: PropTypes.Requireable<(...args: any[]) => any>;
onExpandedRowsChange: PropTypes.Requireable<(...args: any[]) => any>;
onExpand: PropTypes.Requireable<(...args: any[]) => any>;
rowExpandable: PropTypes.Requireable<(...args: any[]) => any>;
expandedRowRender: PropTypes.Requireable<(...args: any[]) => any>;
expandedRowKeys: PropTypes.Requireable<any[]>;
defaultExpandAllRows: PropTypes.Requireable<boolean>;
expandAllRows: PropTypes.Requireable<boolean>;
defaultExpandAllGroupRows: PropTypes.Requireable<boolean>;
expandAllGroupRows: PropTypes.Requireable<boolean>;
defaultExpandedRowKeys: PropTypes.Requireable<any[]>;
pagination: PropTypes.Requireable<NonNullable<boolean | object>>;
renderPagination: PropTypes.Requireable<(...args: any[]) => any>;
footer: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>>;
empty: PropTypes.Requireable<PropTypes.ReactNodeLike>;
dataSource: PropTypes.Requireable<any[]>;
childrenRecordName: PropTypes.Requireable<string>;
rowSelection: PropTypes.Requireable<NonNullable<boolean | object>>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
scroll: PropTypes.Requireable<PropTypes.InferProps<{
x: PropTypes.Requireable<NonNullable<string | number | boolean>>;
y: PropTypes.Requireable<NonNullable<string | number>>;
}>>;
groupBy: PropTypes.Requireable<NonNullable<string | number | ((...args: any[]) => any)>>;
renderGroupSection: PropTypes.Requireable<(...args: any[]) => any>;
onGroupedRow: PropTypes.Requireable<(...args: any[]) => any>;
clickGroupedRowToExpand: PropTypes.Requireable<boolean>;
virtualized: PropTypes.Requireable<NonNullable<boolean | object>>;
dropdownPrefixCls: PropTypes.Requireable<string>;
expandRowByClick: PropTypes.Requireable<boolean>;
getVirtualizedListRef: PropTypes.Requireable<(...args: any[]) => any>;
};
static defaultProps: {
hideExpandedColumn: boolean;
};
static contextType: React.Context<ContextValue>;
tableRef: React.RefObject<NormalTable<RecordType>>;
context: ContextValue;
constructor(props: TableProps);
getCurrentPageData: () => Pick<import("@douyinfe/semi-foundation/lib/es/table/foundation").BasePageData<RecordType>, "dataSource" | "groups">;
render(): React.JSX.Element;
}
export * from './interface';
export default Table;