import type { DataTableColumn, DataTableRow } from 'element-ultra/components/data-table'; import type { RequestResponse } from 'element-ultra/hooks'; import type { EmitFn } from 'element-ultra/utils'; import type { ExtractPropTypes } from 'vue'; export declare const proTableProps: { /** 分页大小 */ pageSize: { type: NumberConstructor; }; /** 分页页码 */ pageSizeOptions: { type: PropType; }; /** 数据请求接口, 如果传了data属性, 该属性将失效 */ api: { type: StringConstructor; }; /** 总条数 */ total: { type: NumberConstructor; }; /** 缓存params */ cacheParams: { type: BooleanConstructor; }; /** 展示树形数据 */ tree: { type: (StringConstructor | BooleanConstructor)[]; default: boolean; }; /** 数据 */ data: { type: PropType; }; /** 额外的请求信息 */ requestExtra: { type: PropType>; }; /** 列配置 */ columns: { type: PropType; required: boolean; }; columnsConfigurable: { type: PropType; default: boolean; }; /** 在左侧展现索引 */ showIndex: { type: BooleanConstructor; }; /** 显示复选框与selectable属性互斥, 只有一个生效 */ checkable: { type: PropType boolean)>; }; /** 多选选中的数据 */ checked: { type: PropType; }; /** 单选选中的数据 */ selected: { type: ObjectConstructor; }; /** 显示查询按钮, 默认会根据api属性和是否查询条件来判断 */ showSearchButton: { type: BooleanConstructor; default: undefined; }; /** 显示单选框与checkable属性互斥, 只有一个生效 */ selectable: { type: PropType boolean)>; }; /** 展现分页 */ pagination: BooleanConstructor; /** 检索对象, 传入table来让table自动帮你筛选数据 */ query: { type: PropType>; }; fetch: { type: PropType<(ctx: { api?: string; query: Record; }) => Promise>; }; /** 表格高度, 一旦指定表头就会固定了 */ height: { type: StringConstructor; }; /** 汇总方法 */ summaryMethod: { type: PropType<(data: { columns: ProTableColumn[]; data: any[]; checked: Set; }) => string[]>; }; /** 默认显示 */ showTools: { type: BooleanConstructor; default: boolean; }; /** 是否默认展开全部 */ defaultExpandAll: { type: BooleanConstructor; default: boolean; }; /** 单元格最小宽度, 默认 100 */ cellMinWidth: { type: NumberConstructor; default: number; }; /** 查询项数量限制, 超出的会被隐藏, 默认2 */ searcherLimit: { type: NumberConstructor; default: number; }; /** 数据懒加载 */ lazyLoad: { type: PropType<(row: Record) => any[] | Promise>; }; /** 显示合计 */ showSummary: BooleanConstructor; /** 数据项是否为响应式的 */ itemReactive: BooleanConstructor; /** 合并单元格 */ mergeCell: { type: PropType<(row: DataTableRow, column: DataTableColumn, columnIndex: number) => { rowspan: number; colspan: number; } | undefined>; }; /** 单元格类 */ cellClass: { type: PropType<(row: DataTableRow, column: DataTableColumn, columnIndex: number) => string[]>; }; }; export declare const proTableEmits: { check: (checked: any[]) => boolean; 'update:checked': (checked: any[]) => boolean; select: (selected: any) => boolean; fetch: (query: Record) => boolean; loaded: (res: RequestResponse) => boolean; 'row-click': (row: any, rowIndex: number) => boolean; }; /** 专业数据表格类配置 */ export interface ProTableColumn extends DataTableColumn { /** 定义此列的动态插槽 */ slot?: string; preset?: string; children?: ProTableColumn[]; } /** 专业表格属性 */ export type ProTableProps = ExtractPropTypes; export type ProTableEmits = EmitFn;