import React from 'react'; import { TableProps, SearchInputOptionItem, SearchInputProps, Column, Css, SearchInputOption, DefaultRecordType } from '@pitrix/portal-ui'; type BusinessTables = Omit, 'onChange' | 'options' | 'columns'> & TableProps; export interface BusinessTableColumn extends Column { /** * 标签 */ label?: string; /** * 过滤选项 */ options?: SearchInputOption[]; /** * 是否可搜索 */ searchable?: boolean; /** * 是否支持过滤 */ canFilter?: boolean; /** * 自定义标签 * @param opt */ customLabel?: (opt: SearchInputOption) => React.ReactNode; /** * 自定义头部 * @param opt */ customPanelHead?: (opt: SearchInputOption) => React.ReactNode; /** * 是否支持排序 */ sortable?: boolean; /** * 是否支持多选 */ multiple?: boolean; /** * 搜索占位符 */ placeholder?: string; /** * 过滤回调 * @param item */ onRemote?: (input: string, item?: SearchInputOptionItem) => Promise[]>; /** * 是否缓存远程数据 * @default true */ remoteCacheable?: boolean; /** * 列设置中是否默认选中 */ defaultColumn?: boolean; /** * 列设置中是否禁用 */ disableColumn?: boolean; /** * 是否标记为标签 */ isTags?: boolean; /** * 是否隐藏列 */ hideColumn?: boolean; } export interface BusinessTableProps extends BusinessTables { /** * 是否显示搜索框 */ searchable?: boolean; /** * 搜索框占位符 */ placeholder?: string; /** * 搜索回调 * @param val */ onSearch?: (val: Record, lastKey?: string) => void; /** * 刷新回调 * @param val */ onRefresh?: () => void; /** * 列设置回调 */ onColumnSettingChange?: (val: string[]) => void; /** * 表格 columns 和搜索栏 columns */ columns: BusinessTableColumn[]; /** * 是否显示列设置 */ showColumnSettings?: boolean; columnSettingsHeight?: number; /** * 列设置KEY/标签 key,用于缓存列设置 */ businessKey: string; /** * 左侧按钮 */ leftPanel?: React.ReactNode; /** * 右侧按钮 */ rightPanel?: React.ReactNode; /** * 自定义样式 */ css?: Css; /** * 自定义搜索框样式 */ searchInputCss?: Css; /** * 输入框是否占满当前行 */ fullSearchInput?: boolean; /** * 默认搜索关键字KEY */ defaultSearchKey?: string; formData: Record; } export declare function BusinessTable(props: BusinessTableProps): React.JSX.Element; export declare namespace BusinessTable { var defaultProps: { searchable: boolean; }; } export default BusinessTable;