import { TableProps as ATableProps, ColumnProps as AColumnProps } from 'antd/lib/table'; import React from 'react'; export type ExtraItemProps = { dataIndex: string; render(text: string, record: RecordType, index: number, extra?: any): React.ReactNode; headerRender?(): React.ReactNode; required?: boolean }; export interface ColumnProps extends Omit,'children'> { format?: 'money' | 'time' | 'date' | string; tooltip?: boolean } export interface TableProps extends ATableProps { url?: string; query?: object; extra?: ExtraItemProps[]; columns: ColumnProps[]; rowSelectionType?: 'checkbox' | 'radio'; flat?: boolean; // 扁平化dataSource 会将数据扁平显示 maxShowLine?: number | boolean; // flat为true时此参数可用 最多显示多少条 超过将会滚动 为true时默认15条 preserveSelectedRows?: boolean; // 为true时,当query变化不会清除已选数据 toolNode?: (total: number) => React.ReactNode; // 底部工具栏 total 为已选数据总条数 hanlderQuery?(query: object): any; // 处理query 并返回 hanlderResult?(result: object): any; // 处理result onDoubleClick?(row: RecordType): void; } export interface TableRefProps { getSelectedRows(): [T[], string[]]; removeSelectedRows(keys: string[]): void; onRefresh(): void; getDataSource(): T[] }