import type { TableColumnCtx, TableProps } from "element-plus"; import type { PropType } from "vue"; import type { FaLayoutGridBreakpoint } from "../../layoutGrid"; import type { PagedInput, PagedResult } from "../src/page.type"; import type { DefaultRow } from "./table.state"; import type { FaTableColumnCtx, FaTableDataRange, FaTableDefaultSlotsResult } from "./table.type"; export { tableProps } from "../../../internal/props"; export type { TreeProps } from "../../../internal/props"; /** FaTable 的运行时 Props 定义 */ export declare const faTableProps: { /** whether Table has vertical border */ border: { type: BooleanConstructor; default: boolean; }; /** whether current row is highlighted */ highlightCurrentRow: { type: BooleanConstructor; default: boolean; }; /** key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used */ rowKey: { type: PropType["rowKey"]>>; default: string; }; /** 组件封装,原生的已经失效 method that returns rowspan and colspan */ spanMethod: { type: PropType["spanMethod"]>; validator: () => boolean; }; /** 表格Key */ tableKey: { type: StringConstructor; default: () => string; }; /** 表格数据 */ data: { type: PropType; default: () => never[]; }; /** 请求数据的函数 */ requestApi: { type: PropType<(params?: PagedInput) => Promise | DefaultRow[]>>; }; /** 接口请求数据回调 */ dataCallback: { type: PropType<(data: PagedResult | DefaultRow[]) => void>; }; /** 初始化参数 */ initParam: PropType; /** 列配置 */ columns: { type: PropType; default: () => boolean; }; /** 表格列改变 */ columnsChange: { type: PropType<(columns: FaTableColumnCtx[]) => Promise>; }; /** 搜索表单 Grid布局列配置 */ searchFormCols: { type: PropType>; default: () => { xs: number; sm: number; md: number; lg: number; xl: number; }; }; /** 折叠搜索 */ collapsedSearch: { type: BooleanConstructor; default: boolean; }; /** 高级搜索抽屉 */ advancedSearchDrawer: { type: BooleanConstructor; default: boolean; }; /** 搜索表单 */ searchForm: { type: BooleanConstructor; default: boolean; }; /** 头部卡片 */ headerCard: { type: BooleanConstructor; default: boolean; }; /** 刷新按钮 */ refreshBtn: { type: BooleanConstructor; default: boolean; }; /** 搜索按钮 */ searchBtn: { type: BooleanConstructor; default: boolean; }; /** 列配置按钮 */ columnSettingBtn: { type: BooleanConstructor; default: boolean; }; /** 头部卡片右侧功能按钮 */ toolBtn: { type: BooleanConstructor; default: boolean; }; /** 隐藏搜索时间 */ hideSearchTime: BooleanConstructor; /** 未来搜索时间 */ futureSearchTime: BooleanConstructor; /** 搜索时间范围 */ dataSearchRange: { type: PropType; default: string; }; /** 选择列 */ selectionColumn: BooleanConstructor; /** 序号列 */ indexColumn: { type: BooleanConstructor; default: boolean; }; /** 分页 */ pagination: { type: BooleanConstructor; default: boolean; }; /** 页码 */ pageSizes: { type: PropType; default: number[]; }; /** 隐藏图片 */ hideImage: BooleanConstructor; /** 单选 */ single: BooleanConstructor; /** 行点击选择 */ rowClickSelection: BooleanConstructor; /** 将父级数据的 children 展开为表格行,并把父级字段合并到子项;Element Plus 树表无需启用 */ treeData: BooleanConstructor; /** 配置选项 */ props: { type: PropType<{ span?: string; children?: string; }>; default: () => { span: undefined; children: string; }; }; /** 自动刷新,当传入 data 时候,如果存在更改则自动刷新 */ autoRefresh: { type: BooleanConstructor; default: boolean; }; /** * 等价于 Table-Column 的 selectable * function that determines if a certain row can be selected, works when `type` is 'selection' */ rowSelectable: PropType["selectable"]>; size: { readonly type: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; width: (NumberConstructor | StringConstructor)[]; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; fit: { type: BooleanConstructor; default: boolean; }; stripe: BooleanConstructor; showHeader: { type: BooleanConstructor; default: boolean; }; showSummary: BooleanConstructor; sumText: StringConstructor; summaryMethod: PropType["summaryMethod"]>; rowClassName: PropType["rowClassName"]>; rowStyle: PropType["rowStyle"]>; cellClassName: PropType["cellClassName"]>; cellStyle: PropType["cellStyle"]>; headerRowClassName: PropType["headerRowClassName"]>; headerRowStyle: PropType["headerRowStyle"]>; headerCellClassName: PropType["headerCellClassName"]>; headerCellStyle: PropType["headerCellStyle"]>; currentRowKey: (NumberConstructor | StringConstructor)[]; emptyText: StringConstructor; expandRowKeys: PropType["expandRowKeys"]>; rowExpandable: PropType["rowExpandable"]>; defaultExpandAll: BooleanConstructor; defaultSort: PropType["defaultSort"]>; tooltipEffect: StringConstructor; tooltipOptions: PropType["tooltipOptions"]>; selectOnIndeterminate: { type: BooleanConstructor; default: boolean; }; indent: { type: NumberConstructor; default: number; }; treeProps: { type: PropType; default: () => { hasChildren: string; children: string; checkStrictly: boolean; }; }; lazy: BooleanConstructor; load: PropType["load"]>; style: { type: PropType; default: () => import("vue").CSSProperties; }; className: { type: StringConstructor; default: string; }; tableLayout: { type: PropType<"fixed" | "auto">; default: string; }; scrollbarAlwaysOn: BooleanConstructor; flexible: BooleanConstructor; showOverflowTooltip: PropType["showOverflowTooltip"]>; tooltipFormatter: PropType["tooltipFormatter"]>; appendFilterPanelTo: StringConstructor; scrollbarTabindex: { type: (NumberConstructor | StringConstructor)[]; default: undefined; }; allowDragLastColumn: { type: BooleanConstructor; default: boolean; }; preserveExpandedContent: BooleanConstructor; nativeScrollbar: BooleanConstructor; }; /** FaTable 的运行时 Emits 定义 */ export declare const faTableEmits: { /** 当用户手动勾选数据行的 Checkbox 时触发的事件 */ select: (selection: DefaultRow[], row: DefaultRow) => boolean; /** 当用户手动勾选全选 Checkbox 时触发的事件 */ selectAll: (selection: DefaultRow[]) => boolean; /** 当选择项发生变化时会触发该事件 */ selectionChange: (newSelection: DefaultRow[]) => boolean; /** 当单元格 hover 进入时会触发该事件 */ cellMouseEnter: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当单元格 hover 退出时会触发该事件 */ cellMouseLeave: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某个单元格被点击时会触发该事件 */ cellClick: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某个单元格被双击击时会触发该事件 */ cellDblclick: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某个单元格被鼠标右键点击时会触发该事件 */ cellContextmenu: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某一行被点击时会触发该事件 */ rowClick: (row: DefaultRow, column: TableColumnCtx, event: Event) => boolean; /** 当某一行被鼠标右键点击时会触发该事件 */ rowContextmenu: (row: DefaultRow, column: TableColumnCtx, event: Event) => boolean; /** 当某一行被双击时会触发该事件 */ rowDblclick: (row: DefaultRow, column: TableColumnCtx, event: Event) => boolean; /** 当某一列的表头被点击时会触发该事件 */ headerClick: (column: TableColumnCtx, event: Event) => boolean; /** 当某一列的表头被鼠标右键点击时触发该事件 */ headerContextmenu: (column: TableColumnCtx, event: Event) => boolean; /** 当表格的排序条件发生变化的时候会触发该事件 */ sortChange: (data: { column: TableColumnCtx; prop: string; order: "" | "ascending" | "descending"; }) => boolean; /** column 的 key, 如果需要使用 filter-change 事件,则需要此属性标识是哪个 column 的筛选条件 */ filterChange: (newFilters: Record) => boolean; /** 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 */ currentChange: (currentRow: DefaultRow, oldCurrentRow: DefaultRow | null) => boolean; /** 当拖动表头改变了列的宽度的时候会触发该事件 */ headerDragend: (newWidth: number, oldWidth: number, column: TableColumnCtx, event: MouseEvent) => boolean; /** 当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded) */ expandChange: (row: DefaultRow, expanded: boolean | DefaultRow[]) => boolean; /** 表格滚动时触发 */ scroll: (data: { scrollLeft: number; scrollTop: number; }) => boolean; /** 表格刷新事件 */ refresh: (params: PagedInput) => boolean; /** 表格重置事件 */ reset: (params: PagedInput) => boolean; /** 分页页码改变事件 */ sizeChange: (pageSize: number) => boolean; /** 分页改变事件 */ paginationChange: (pageIndex: number, pageSize: number) => boolean; /** 自定义单元格点击事件 */ customCellClick: (emitName: string, { row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number; } & FaTableDefaultSlotsResult) => boolean; }; /** FaTable 的插槽参数 */ export type FaTableSlots = Record & { /** 默认内容插槽 */ default: never; /** 插入至表格最后一行之后的内容, 如果需要对表格的内容进行无限滚动操作,可能需要用到这个 slot。 若表格有合计行,该 slot 会位于合计行之上。 */ append: never; /** 当数据为空时自定义的内容 */ empty: never; /** 表格顶部插槽 */ topHeader: FaTableDefaultSlotsResult; /** 表格头部左侧插槽 */ header: FaTableDefaultSlotsResult; /** 表格头部右侧功能按钮插槽 */ toolButton: FaTableDefaultSlotsResult; /** 表格头部右侧高级操作按钮插槽,ElDropdownMenuItem 标签 */ toolButtonAdv: FaTableDefaultSlotsResult; /** 表格展开列插槽 */ expand: FaTableDefaultSlotsResult & { row: DefaultRow; column: TableColumnCtx; $index: number; }; /** 表格操作列插槽 */ operation: FaTableDefaultSlotsResult & { row: DefaultRow; column: FaTableColumnCtx; $index: number; }; /** 表格分页插槽 */ pagination: { pageIndex: number; pageSize: number; totalRows: number; handleSizeChange: (val: number) => void; handlePaginationChange: (val: number) => void; }; /** 表格页脚插槽 */ footer: FaTableDefaultSlotsResult; /** 列配置 */ columnSetting: never; } & Record' 否则返回 'FaTableColumnCtx' */ column?: TableColumnCtx | FaTableColumnCtx; /** slot为非搜索项的时候才会返回 */ $index?: number; /** slot为搜索项的时候才会返回 */ search?: () => Promise; }>; declare const _default: import("vue").DefineComponent["rowKey"]>>; default: string; }; /** 组件封装,原生的已经失效 method that returns rowspan and colspan */ spanMethod: { type: PropType["spanMethod"]>; validator: () => boolean; }; /** 表格Key */ tableKey: { type: StringConstructor; default: () => string; }; /** 表格数据 */ data: { type: PropType; default: () => never[]; }; /** 请求数据的函数 */ requestApi: { type: PropType<(params?: PagedInput) => Promise | DefaultRow[]>>; }; /** 接口请求数据回调 */ dataCallback: { type: PropType<(data: PagedResult | DefaultRow[]) => void>; }; /** 初始化参数 */ initParam: PropType; /** 列配置 */ columns: { type: PropType; default: () => boolean; }; /** 表格列改变 */ columnsChange: { type: PropType<(columns: FaTableColumnCtx[]) => Promise>; }; /** 搜索表单 Grid布局列配置 */ searchFormCols: { type: PropType>; default: () => { xs: number; sm: number; md: number; lg: number; xl: number; }; }; /** 折叠搜索 */ collapsedSearch: { type: BooleanConstructor; default: boolean; }; /** 高级搜索抽屉 */ advancedSearchDrawer: { type: BooleanConstructor; default: boolean; }; /** 搜索表单 */ searchForm: { type: BooleanConstructor; default: boolean; }; /** 头部卡片 */ headerCard: { type: BooleanConstructor; default: boolean; }; /** 刷新按钮 */ refreshBtn: { type: BooleanConstructor; default: boolean; }; /** 搜索按钮 */ searchBtn: { type: BooleanConstructor; default: boolean; }; /** 列配置按钮 */ columnSettingBtn: { type: BooleanConstructor; default: boolean; }; /** 头部卡片右侧功能按钮 */ toolBtn: { type: BooleanConstructor; default: boolean; }; /** 隐藏搜索时间 */ hideSearchTime: BooleanConstructor; /** 未来搜索时间 */ futureSearchTime: BooleanConstructor; /** 搜索时间范围 */ dataSearchRange: { type: PropType; default: string; }; /** 选择列 */ selectionColumn: BooleanConstructor; /** 序号列 */ indexColumn: { type: BooleanConstructor; default: boolean; }; /** 分页 */ pagination: { type: BooleanConstructor; default: boolean; }; /** 页码 */ pageSizes: { type: PropType; default: number[]; }; /** 隐藏图片 */ hideImage: BooleanConstructor; /** 单选 */ single: BooleanConstructor; /** 行点击选择 */ rowClickSelection: BooleanConstructor; /** 将父级数据的 children 展开为表格行,并把父级字段合并到子项;Element Plus 树表无需启用 */ treeData: BooleanConstructor; /** 配置选项 */ props: { type: PropType<{ span?: string; children?: string; }>; default: () => { span: undefined; children: string; }; }; /** 自动刷新,当传入 data 时候,如果存在更改则自动刷新 */ autoRefresh: { type: BooleanConstructor; default: boolean; }; /** * 等价于 Table-Column 的 selectable * function that determines if a certain row can be selected, works when `type` is 'selection' */ rowSelectable: PropType["selectable"]>; size: { readonly type: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; width: (NumberConstructor | StringConstructor)[]; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; fit: { type: BooleanConstructor; default: boolean; }; stripe: BooleanConstructor; showHeader: { type: BooleanConstructor; default: boolean; }; showSummary: BooleanConstructor; sumText: StringConstructor; summaryMethod: PropType["summaryMethod"]>; rowClassName: PropType["rowClassName"]>; rowStyle: PropType["rowStyle"]>; cellClassName: PropType["cellClassName"]>; cellStyle: PropType["cellStyle"]>; headerRowClassName: PropType["headerRowClassName"]>; headerRowStyle: PropType["headerRowStyle"]>; headerCellClassName: PropType["headerCellClassName"]>; headerCellStyle: PropType["headerCellStyle"]>; currentRowKey: (NumberConstructor | StringConstructor)[]; emptyText: StringConstructor; expandRowKeys: PropType["expandRowKeys"]>; rowExpandable: PropType["rowExpandable"]>; defaultExpandAll: BooleanConstructor; defaultSort: PropType["defaultSort"]>; tooltipEffect: StringConstructor; tooltipOptions: PropType["tooltipOptions"]>; selectOnIndeterminate: { type: BooleanConstructor; default: boolean; }; indent: { type: NumberConstructor; default: number; }; treeProps: { type: PropType; default: () => { hasChildren: string; children: string; checkStrictly: boolean; }; }; lazy: BooleanConstructor; load: PropType["load"]>; style: { type: PropType; default: () => import("vue").CSSProperties; }; className: { type: StringConstructor; default: string; }; tableLayout: { type: PropType<"fixed" | "auto">; default: string; }; scrollbarAlwaysOn: BooleanConstructor; flexible: BooleanConstructor; showOverflowTooltip: PropType["showOverflowTooltip"]>; tooltipFormatter: PropType["tooltipFormatter"]>; appendFilterPanelTo: StringConstructor; scrollbarTabindex: { type: (NumberConstructor | StringConstructor)[]; default: undefined; }; allowDragLastColumn: { type: BooleanConstructor; default: boolean; }; preserveExpandedContent: BooleanConstructor; nativeScrollbar: BooleanConstructor; }>, { /** 用于多选表格,清空用户的选择 */ clearSelection: import("vue").ComputedRef<(() => void) | undefined>; /** 返回当前选中的行 */ getSelectionRows: import("vue").ComputedRef<(() => import("element-plus/es/components/table/src/table/defaults.mjs").DefaultRow[]) | undefined>; /** 返回当前半选中的行。 */ getHalfSelectionRows: import("vue").ComputedRef<(() => import("element-plus/es/components/table/src/table/defaults.mjs").DefaultRow[]) | undefined>; /** 用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */ toggleRowSelection: import("vue").ComputedRef<((row: import("element-plus/es/components/table/src/table/defaults.mjs").DefaultRow, selected?: boolean, ignoreSelectable?: boolean) => void) | undefined>; /** 用于多选表格,切换全选和全不选 */ toggleAllSelection: import("vue").ComputedRef<(() => void) | undefined>; /** 用于可扩展的表格或树表格,如果某行被扩展,则切换。 使用第二个参数,您可以直接设置该行应该被扩展或折叠。 */ toggleRowExpansion: import("vue").ComputedRef<((row: import("element-plus/es/components/table/src/table/defaults.mjs").DefaultRow, expanded?: boolean) => void) | undefined>; /** 用于单选表格,设定某一行为选中行, 如果调用时不加参数,则会取消目前高亮行的选中状态。 */ setCurrentRow: import("vue").ComputedRef<((row?: import("element-plus/es/components/table/src/table/defaults.mjs").DefaultRow | undefined) => void) | undefined>; /** 用于清空排序条件,数据会恢复成未排序的状态 */ clearSort: import("vue").ComputedRef<(() => void) | undefined>; /** 传入由columnKey 组成的数组以清除指定列的过滤条件。 如果没有参数,清除所有过滤器 */ clearFilter: import("vue").ComputedRef<((columnKeys?: string[] | string) => void) | undefined>; /** 对 Table 进行重新布局。 当表格可见性变化时,您可能需要调用此方法以获得正确的布局 */ doLayout: import("vue").ComputedRef<(() => void) | undefined>; /** 手动排序表格。 参数 prop 属性指定排序列,order 指定排序顺序。 */ sort: import("vue").ComputedRef<((prop: string, order: string) => void) | undefined>; /** 滚动到一组特定坐标 */ scrollTo: import("vue").ComputedRef<((options: ScrollToOptions | number, yCoord?: number) => void) | undefined>; /** 设置垂直滚动位置 */ setScrollTop: import("vue").ComputedRef<((top?: number) => void) | undefined>; /** 设置水平滚动位置 */ setScrollLeft: import("vue").ComputedRef<((left?: number) => void) | undefined>; /** 获取表列的 context */ columns: import("vue").ComputedRef[] | undefined>; /** 适用于 lazy Table, 需要设置 rowKey, 更新 key children */ updateKeyChildren: import("vue").ComputedRef<((key: string, data: import("element-plus/es/components/table/src/table/defaults.mjs").DefaultRow[]) => void) | undefined>; /** 聚合加载状态;手动关闭不能结束内部任务。 */ loading: import("vue").WritableComputedRef; /** 表格数据 */ tableData: import("vue").ComputedRef; /** 分页数据 */ tablePagination: import("vue").ComputedRef<{ pageIndex: number; pageSize: number; totalRows: number; }>; /** 搜索参数 */ searchParam: import("vue").ComputedRef; /** 选中状态 */ selected: import("vue").ComputedRef; /** 选中数据列表 */ selectedList: import("vue").ComputedRef; /** 选中数据 rowKey 列表 */ selectedListIds: import("vue").ComputedRef<(string | number)[]>; /** 部分选中数据 rowKey 列表 */ indeterminateSelectedListIds: import("vue").ComputedRef<(string | number)[]>; /** 表格宽度 */ tableWidth: import("vue").ComputedRef; /** 表格高度 */ tableHeight: import("vue").ComputedRef; /** 部分选中(样式不一样而已),用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */ toggleRowIndeterminateSelection: (row: DefaultRow, selected?: boolean) => void; /** 异步方法,刷新表格 */ refresh: () => Promise; /** 异步方法,重置表格 */ reset: () => Promise; /** 对 Table 进行重新渲染。当 TableKey 发生变化的时候可以通过此方法重新渲染表格 */ doRender: () => Promise; /** Table 加载 */ doLoading: (loadingFunction: () => void | Promise, loadingText?: string) => Promise; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { /** 当用户手动勾选数据行的 Checkbox 时触发的事件 */ select: (selection: DefaultRow[], row: DefaultRow) => boolean; /** 当用户手动勾选全选 Checkbox 时触发的事件 */ selectAll: (selection: DefaultRow[]) => boolean; /** 当选择项发生变化时会触发该事件 */ selectionChange: (newSelection: DefaultRow[]) => boolean; /** 当单元格 hover 进入时会触发该事件 */ cellMouseEnter: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当单元格 hover 退出时会触发该事件 */ cellMouseLeave: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某个单元格被点击时会触发该事件 */ cellClick: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某个单元格被双击击时会触发该事件 */ cellDblclick: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某个单元格被鼠标右键点击时会触发该事件 */ cellContextmenu: (row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => boolean; /** 当某一行被点击时会触发该事件 */ rowClick: (row: DefaultRow, column: TableColumnCtx, event: Event) => boolean; /** 当某一行被鼠标右键点击时会触发该事件 */ rowContextmenu: (row: DefaultRow, column: TableColumnCtx, event: Event) => boolean; /** 当某一行被双击时会触发该事件 */ rowDblclick: (row: DefaultRow, column: TableColumnCtx, event: Event) => boolean; /** 当某一列的表头被点击时会触发该事件 */ headerClick: (column: TableColumnCtx, event: Event) => boolean; /** 当某一列的表头被鼠标右键点击时触发该事件 */ headerContextmenu: (column: TableColumnCtx, event: Event) => boolean; /** 当表格的排序条件发生变化的时候会触发该事件 */ sortChange: (data: { column: TableColumnCtx; prop: string; order: "" | "ascending" | "descending"; }) => boolean; /** column 的 key, 如果需要使用 filter-change 事件,则需要此属性标识是哪个 column 的筛选条件 */ filterChange: (newFilters: Record) => boolean; /** 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 */ currentChange: (currentRow: DefaultRow, oldCurrentRow: DefaultRow | null) => boolean; /** 当拖动表头改变了列的宽度的时候会触发该事件 */ headerDragend: (newWidth: number, oldWidth: number, column: TableColumnCtx, event: MouseEvent) => boolean; /** 当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded) */ expandChange: (row: DefaultRow, expanded: boolean | DefaultRow[]) => boolean; /** 表格滚动时触发 */ scroll: (data: { scrollLeft: number; scrollTop: number; }) => boolean; /** 表格刷新事件 */ refresh: (params: PagedInput) => boolean; /** 表格重置事件 */ reset: (params: PagedInput) => boolean; /** 分页页码改变事件 */ sizeChange: (pageSize: number) => boolean; /** 分页改变事件 */ paginationChange: (pageIndex: number, pageSize: number) => boolean; /** 自定义单元格点击事件 */ customCellClick: (emitName: string, { row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number; } & FaTableDefaultSlotsResult) => boolean; }, string, import("vue").PublicProps, Readonly["rowKey"]>>; default: string; }; /** 组件封装,原生的已经失效 method that returns rowspan and colspan */ spanMethod: { type: PropType["spanMethod"]>; validator: () => boolean; }; /** 表格Key */ tableKey: { type: StringConstructor; default: () => string; }; /** 表格数据 */ data: { type: PropType; default: () => never[]; }; /** 请求数据的函数 */ requestApi: { type: PropType<(params?: PagedInput) => Promise | DefaultRow[]>>; }; /** 接口请求数据回调 */ dataCallback: { type: PropType<(data: PagedResult | DefaultRow[]) => void>; }; /** 初始化参数 */ initParam: PropType; /** 列配置 */ columns: { type: PropType; default: () => boolean; }; /** 表格列改变 */ columnsChange: { type: PropType<(columns: FaTableColumnCtx[]) => Promise>; }; /** 搜索表单 Grid布局列配置 */ searchFormCols: { type: PropType>; default: () => { xs: number; sm: number; md: number; lg: number; xl: number; }; }; /** 折叠搜索 */ collapsedSearch: { type: BooleanConstructor; default: boolean; }; /** 高级搜索抽屉 */ advancedSearchDrawer: { type: BooleanConstructor; default: boolean; }; /** 搜索表单 */ searchForm: { type: BooleanConstructor; default: boolean; }; /** 头部卡片 */ headerCard: { type: BooleanConstructor; default: boolean; }; /** 刷新按钮 */ refreshBtn: { type: BooleanConstructor; default: boolean; }; /** 搜索按钮 */ searchBtn: { type: BooleanConstructor; default: boolean; }; /** 列配置按钮 */ columnSettingBtn: { type: BooleanConstructor; default: boolean; }; /** 头部卡片右侧功能按钮 */ toolBtn: { type: BooleanConstructor; default: boolean; }; /** 隐藏搜索时间 */ hideSearchTime: BooleanConstructor; /** 未来搜索时间 */ futureSearchTime: BooleanConstructor; /** 搜索时间范围 */ dataSearchRange: { type: PropType; default: string; }; /** 选择列 */ selectionColumn: BooleanConstructor; /** 序号列 */ indexColumn: { type: BooleanConstructor; default: boolean; }; /** 分页 */ pagination: { type: BooleanConstructor; default: boolean; }; /** 页码 */ pageSizes: { type: PropType; default: number[]; }; /** 隐藏图片 */ hideImage: BooleanConstructor; /** 单选 */ single: BooleanConstructor; /** 行点击选择 */ rowClickSelection: BooleanConstructor; /** 将父级数据的 children 展开为表格行,并把父级字段合并到子项;Element Plus 树表无需启用 */ treeData: BooleanConstructor; /** 配置选项 */ props: { type: PropType<{ span?: string; children?: string; }>; default: () => { span: undefined; children: string; }; }; /** 自动刷新,当传入 data 时候,如果存在更改则自动刷新 */ autoRefresh: { type: BooleanConstructor; default: boolean; }; /** * 等价于 Table-Column 的 selectable * function that determines if a certain row can be selected, works when `type` is 'selection' */ rowSelectable: PropType["selectable"]>; size: { readonly type: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; width: (NumberConstructor | StringConstructor)[]; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; fit: { type: BooleanConstructor; default: boolean; }; stripe: BooleanConstructor; showHeader: { type: BooleanConstructor; default: boolean; }; showSummary: BooleanConstructor; sumText: StringConstructor; summaryMethod: PropType["summaryMethod"]>; rowClassName: PropType["rowClassName"]>; rowStyle: PropType["rowStyle"]>; cellClassName: PropType["cellClassName"]>; cellStyle: PropType["cellStyle"]>; headerRowClassName: PropType["headerRowClassName"]>; headerRowStyle: PropType["headerRowStyle"]>; headerCellClassName: PropType["headerCellClassName"]>; headerCellStyle: PropType["headerCellStyle"]>; currentRowKey: (NumberConstructor | StringConstructor)[]; emptyText: StringConstructor; expandRowKeys: PropType["expandRowKeys"]>; rowExpandable: PropType["rowExpandable"]>; defaultExpandAll: BooleanConstructor; defaultSort: PropType["defaultSort"]>; tooltipEffect: StringConstructor; tooltipOptions: PropType["tooltipOptions"]>; selectOnIndeterminate: { type: BooleanConstructor; default: boolean; }; indent: { type: NumberConstructor; default: number; }; treeProps: { type: PropType; default: () => { hasChildren: string; children: string; checkStrictly: boolean; }; }; lazy: BooleanConstructor; load: PropType["load"]>; style: { type: PropType; default: () => import("vue").CSSProperties; }; className: { type: StringConstructor; default: string; }; tableLayout: { type: PropType<"fixed" | "auto">; default: string; }; scrollbarAlwaysOn: BooleanConstructor; flexible: BooleanConstructor; showOverflowTooltip: PropType["showOverflowTooltip"]>; tooltipFormatter: PropType["tooltipFormatter"]>; appendFilterPanelTo: StringConstructor; scrollbarTabindex: { type: (NumberConstructor | StringConstructor)[]; default: undefined; }; allowDragLastColumn: { type: BooleanConstructor; default: boolean; }; preserveExpandedContent: BooleanConstructor; nativeScrollbar: BooleanConstructor; }>> & Readonly<{ onSelect?: ((selection: DefaultRow[], row: DefaultRow) => any) | undefined; onReset?: ((params: PagedInput) => any) | undefined; onScroll?: ((data: { scrollLeft: number; scrollTop: number; }) => any) | undefined; onRefresh?: ((params: PagedInput) => any) | undefined; onFilterChange?: ((newFilters: Record) => any) | undefined; onSelectAll?: ((selection: DefaultRow[]) => any) | undefined; onSelectionChange?: ((newSelection: DefaultRow[]) => any) | undefined; onCellMouseEnter?: ((row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => any) | undefined; onCellMouseLeave?: ((row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => any) | undefined; onCellClick?: ((row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => any) | undefined; onCellDblclick?: ((row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => any) | undefined; onCellContextmenu?: ((row: DefaultRow, column: TableColumnCtx, cell: HTMLTableCellElement, event: Event) => any) | undefined; onRowClick?: ((row: DefaultRow, column: TableColumnCtx, event: Event) => any) | undefined; onRowContextmenu?: ((row: DefaultRow, column: TableColumnCtx, event: Event) => any) | undefined; onRowDblclick?: ((row: DefaultRow, column: TableColumnCtx, event: Event) => any) | undefined; onHeaderClick?: ((column: TableColumnCtx, event: Event) => any) | undefined; onHeaderContextmenu?: ((column: TableColumnCtx, event: Event) => any) | undefined; onSortChange?: ((data: { column: TableColumnCtx; prop: string; order: "" | "ascending" | "descending"; }) => any) | undefined; onCurrentChange?: ((currentRow: DefaultRow, oldCurrentRow: DefaultRow | null) => any) | undefined; onHeaderDragend?: ((newWidth: number, oldWidth: number, column: TableColumnCtx, event: MouseEvent) => any) | undefined; onExpandChange?: ((row: DefaultRow, expanded: boolean | DefaultRow[]) => any) | undefined; onSizeChange?: ((pageSize: number) => any) | undefined; onPaginationChange?: ((pageIndex: number, pageSize: number) => any) | undefined; onCustomCellClick?: ((emitName: string, args_1: { row: DefaultRow; column: FaTableColumnCtx; $index: number; } & FaTableDefaultSlotsResult) => any) | undefined; }>, { data: DefaultRow[]; style: import("vue").CSSProperties; props: { span?: string; children?: string; }; fit: boolean; className: string; border: boolean; lazy: boolean; columns: false | FaTableColumnCtx[]; rowKey: NonNullable string) | undefined>; scrollbarAlwaysOn: boolean; pagination: boolean; stripe: boolean; showHeader: boolean; showSummary: boolean; highlightCurrentRow: boolean; defaultExpandAll: boolean; selectOnIndeterminate: boolean; indent: number; treeProps: import("./table").TreeProps; tableLayout: "fixed" | "auto"; flexible: boolean; scrollbarTabindex: string | number; allowDragLastColumn: boolean; preserveExpandedContent: boolean; nativeScrollbar: boolean; tableKey: string; searchFormCols: string | number | Record; collapsedSearch: boolean; advancedSearchDrawer: boolean; searchForm: boolean; headerCard: boolean; refreshBtn: boolean; searchBtn: boolean; columnSettingBtn: boolean; toolBtn: boolean; hideSearchTime: boolean; futureSearchTime: boolean; dataSearchRange: FaTableDataRange; selectionColumn: boolean; indexColumn: boolean; pageSizes: number[]; hideImage: boolean; single: boolean; rowClickSelection: boolean; treeData: boolean; autoRefresh: boolean; }, import("../../../utils").TypedSlotsDeclaration, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default _default;