Files
vxe-table/types/table.d.ts
2023-04-28 23:10:43 +08:00

2704 lines
84 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { RenderFunction, SetupContext, Ref, ComputedRef, ComponentPublicInstance, ComponentInternalInstance, VNode } from 'vue'
import { VXEComponent, VxeComponentBase, VxeEvent, SizeType, ValueOf, VNodeStyle, SlotVNodeType } from './component'
import { VxeTableProEmits, VxeTableProDefines } from './plugins/pro'
import { VxeColumnPropTypes, VxeColumnProps } from './column'
import { VXETableSetupOptions, VxeGlobalRendererHandles } from './v-x-e-table'
import { VxeToolbarConstructor, VxeToolbarInstance } from './toolbar'
import { VxeTooltipInstance } from './tooltip'
import { VxeGridConstructor } from './grid'
import { VxeMenuPanelInstance } from './menu'
/* eslint-disable no-use-before-define */
/**
* 组件 - 表格
* @example import { VxeTable } from 'vxe-table'
*/
export const VxeTable: VXEComponent<VxeTableProps, VxeTableEventProps>
/**
* 组件 - 表格
*/
export const Table: VXEComponent<VxeTableProps, VxeTableEventProps>
export type VxeTableInstance = ComponentPublicInstance<VxeTableProps, VxeTableConstructor>
export interface VxeTableConstructor extends VxeComponentBase, VxeTableMethods {
props: Readonly<VxeTableProps>
context: SetupContext<VxeTableEmits>
instance: ComponentInternalInstance
reactData: TableReactData
internalData: TableInternalData
getRefMaps(): TablePrivateRef
getComputeMaps(): TablePrivateComputed
renderVN: RenderFunction
xegrid: VxeGridConstructor | null
}
export interface TablePrivateRef {
refElem: Ref<HTMLDivElement>
refTooltip: Ref<VxeTooltipInstance>
refValidTooltip: Ref<VxeTooltipInstance>
refTableFilter: Ref<ComponentPublicInstance>
refTableMenu: Ref<VxeMenuPanelInstance>
refTableHeader: Ref<ComponentPublicInstance>
refTableBody: Ref<ComponentPublicInstance>
refTableFooter: Ref<ComponentPublicInstance>
refTableLeftHeader: Ref<ComponentPublicInstance>
refTableLeftBody: Ref<ComponentPublicInstance>
refTableLeftFooter: Ref<ComponentPublicInstance>
refTableRightHeader: Ref<ComponentPublicInstance>
refTableRightBody: Ref<ComponentPublicInstance>
refTableRightFooter: Ref<ComponentPublicInstance>
refLeftContainer: Ref<HTMLDivElement>
refRightContainer: Ref<HTMLDivElement>
refCellResizeBar: Ref<HTMLDivElement>
}
export interface VxeTablePrivateRef extends TablePrivateRef { }
export interface TablePrivateComputed {
computeSize: ComputedRef<VxeTablePropTypes.Size>
computeValidOpts: ComputedRef<VxeTablePropTypes.ValidOpts>
computeSXOpts: ComputedRef<VxeTablePropTypes.SXOpts>
computeSYOpts: ComputedRef<VxeTablePropTypes.SYOpts>
computeColumnOpts: ComputedRef<VxeTablePropTypes.ColumnOpts>
computeRowOpts: ComputedRef<VxeTablePropTypes.RowOpts>
computeResizeleOpts: ComputedRef<VxeTablePropTypes.ResizeOpts>
computeResizableOpts: ComputedRef<VxeTablePropTypes.ResizableOpts>
computeSeqOpts: ComputedRef<VxeTablePropTypes.SeqOpts>
computeRadioOpts: ComputedRef<VxeTablePropTypes.RadioOpts>
computeCheckboxOpts: ComputedRef<VxeTablePropTypes.CheckboxOpts>
computeTooltipOpts: ComputedRef<VxeTablePropTypes.TooltipOpts>
computeEditOpts: ComputedRef<VxeTablePropTypes.EditOpts>
computeSortOpts: ComputedRef<VxeTablePropTypes.SortConfig>
computeFilterOpts: ComputedRef<VxeTablePropTypes.FilterOpts>
computeMouseOpts: ComputedRef<VxeTablePropTypes.MouseOpts>
computeAreaOpts: ComputedRef<VxeTablePropTypes.AreaOpts>
computeKeyboardOpts: ComputedRef<VxeTablePropTypes.KeyboardOpts>
computeClipOpts: ComputedRef<VxeTablePropTypes.ClipOpts>
computeFNROpts: ComputedRef<VxeTablePropTypes.FNROpts>
computeHeaderMenu: ComputedRef<VxeTableDefines.MenuFirstOption>
computeBodyMenu: ComputedRef<VxeTableDefines.MenuFirstOption>
computeFooterMenu: ComputedRef<VxeTableDefines.MenuFirstOption>
computeIsMenu: ComputedRef<boolean>
computeMenuOpts: ComputedRef<VxeTablePropTypes.MenuConfig>
computeExportOpts: ComputedRef<VxeTablePropTypes.ExportOpts>
computeImportOpts: ComputedRef<VxeTablePropTypes.ImportOpts>
computePrintOpts: ComputedRef<VxeTablePropTypes.PrintOpts>
computeExpandOpts: ComputedRef<VxeTablePropTypes.ExpandOpts>
computeTreeOpts: ComputedRef<VxeTablePropTypes.TreeOpts>
computeEmptyOpts: ComputedRef<VxeTablePropTypes.EmptyOpts>
computeLoadingOpts: ComputedRef<VxeTablePropTypes.LoadingOpts>
computeCustomOpts: ComputedRef<VxeTablePropTypes.CustomOpts>
computeIsAllCheckboxDisabled: ComputedRef<boolean>
}
export type VxeTablePrivateComputed = TablePrivateComputed
export interface TableMethods extends TablePublicMethods {
dispatchEvent(type: ValueOf<VxeTableEmits>, params: any, evnt: Event | null): void
}
export interface TablePublicMethods {
/**
* 手动清除表格所有条件,还原到初始状态
* 对于增删改查的场景中可能会用到,比如在数据保存之后清除表格缓存
*/
clearAll(): Promise<any>
/**
* 该方法已废弃!!!
* 同步 data 数据;如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
* @deprecated
*/
syncData(): Promise<any>
/**
* 手动处理数据,用于手动排序与筛选
* 对于手动更改了排序、筛选...等条件后需要重新处理数据时可能会用到
*/
updateData(): Promise<any>
/**
* 加载数据
* @param data 数据
*/
loadData(data: any[]): Promise<any>
/**
* 加载数据并恢复到初始状态
* @param data 数据
*/
reloadData(data: any[]): Promise<any>
/**
* 局部加载行数据并恢复到初始状态
* @param rows 行对象
* @param record 新数据
* @param field 指定字段名
*/
reloadRow(rows: any | any[], record?: any, field?: string): Promise<any>
/**
* 用于树结构,给行数据加载子节点
* @param row 行对象
* @param children 子节点
*/
loadTreeChildren(row: any, children: any[]): Promise<any[]>
/**
* 加载列配置
* @param columns 列对象
*/
loadColumn(columns: (VxeTableDefines.ColumnOptions | VxeTableDefines.ColumnInfo)[]): Promise<any>
/**
* 加载列配置并恢复到初始状态
* @param columns 列对象
*/
reloadColumn(columns: (VxeTableDefines.ColumnOptions | VxeTableDefines.ColumnInfo)[]): Promise<any>
/**
* 根据 tr 元素获取对应的 row 信息
* @param tr 行节点元素
*/
getRowNode(trElem: HTMLElement): {
rowid: string
item: any
items: any[]
index: number
parent?: any
} | null
/**
* 根据 th/td 元素获取对应的 column 信息
* @param cell 单元格节点元素
*/
getColumnNode(cellElem: HTMLElement): {
colid: string
item: VxeTableDefines.ColumnInfo
items: VxeTableDefines.ColumnInfo[]
index: number
parent?: VxeTableDefines.ColumnInfo
} | null
/**
* 根据 row 获取行的序号
* @param row 行对象
*/
getRowSeq(row: any): string | number
/**
* 根据 row 获取相对于 data 中的索引
* @param row 行对象
*/
getRowIndex(row: any): number
/**
* 根据 row 获取相对于当前数据中的索引
* @param row 行对象
*/
getVTRowIndex(row: any): number
/**
* 根据 row 获取渲染中的虚拟索引
* @param row 行对象
*/
getVMRowIndex(row: any): number
/**
* 根据 column 获取相对于 columns 中的索引
* @param column 列对象
*/
getColumnIndex(column: VxeTableDefines.ColumnInfo): number
/**
* 根据 column 获取相对于当前表格列中的索引
* @param column 列对象
*/
getVTColumnIndex(column: VxeTableDefines.ColumnInfo): number
/**
* 根据 column 获取渲染中的虚拟索引
* @param column 列对象
*/
getVMColumnIndex(column: VxeTableDefines.ColumnInfo): number
/**
* 创建 data 对象
* 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义
* @param records 数据
*/
createData(records: any[]): Promise<any[]>
/**
* 创建 Row|Rows 对象
* 对于某些特殊场景需要对数据进行手动插入时可能会用到
* @param records 数据
*/
createRow(records: any | any[]): Promise<any | any[]>
/**
* 只对 keep-source 开启有效,还原指定行 row 或者整个表格的数据
* @param rows 指定行
* @param field 字段名
*/
revertData(rows?: any | any[], field?: string): Promise<any>
/**
* 手动清空单元格内容,如果不传参数,则清空整个表格内容,如果传了行则清空指定行内容,如果传了指定字段,则清空该字段内容
* @param rows 指定行
* @param field 字段名
*/
clearData(rows?: any | any[], field?: string): Promise<any>
/**
* 用于 edit-config判断行是否为新增的临时数据
* @param row 指定行
*/
isInsertByRow(row: any): boolean
/**
* 删除所有新增的临时数据
*/
removeInsertRow(): Promise<{ row: any, rows: any[] }>
/**
* 只对 keep-source 开启有效,判断行数据是否发生改变
* @param row 指定行
* @param field 指定字段
*/
isUpdateByRow(row: any, field?: string): boolean
/**
* 获取表格的可视列,也可以指定索引获取列
* @param columnIndex 列索引
*/
getColumns(): VxeTableDefines.ColumnInfo[]
getColumns(columnIndex?: number): VxeTableDefines.ColumnInfo
/**
* 根据列的唯一主键获取列
* @param colid 列主键
*/
getColumnById(colid: string): VxeTableDefines.ColumnInfo | null
/**
* 根据列的字段名获取列
* @param field 字段名
*/
getColumnByField(field: string): VxeTableDefines.ColumnInfo | null
/**
* 获取当前表格的列
* 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
*/
getTableColumn(): {
collectColumn: VxeTableDefines.ColumnInfo[]
fullColumn: VxeTableDefines.ColumnInfo[]
visibleColumn: VxeTableDefines.ColumnInfo[]
tableColumn: VxeTableDefines.ColumnInfo[]
}
/**
* 获取数据,和 data 的行为一致,也可以指定索引获取数据
*/
getData(): any[]
getData(rowIndex: number): any
/**
* 用于 type=checkbox获取已选中的行数据
*/
getCheckboxRecords(isFull?: boolean): any[]
/**
* 只对 tree-config 有效,获取行的父级
*/
getParentRow (rowOrRowid: any): any | null
/**
* 根据行的唯一主键获取行
* @param rowid 行主键
*/
getRowById(rowid: string | number): any | null
/**
* 根据行获取行的唯一主键
* @param row 行对象
*/
getRowid(row: any): string
/**
* 获取当前表格的数据
* 完整的全量表体数据、处理条件之后的全量表体数据、当前渲染中的表体数据、当前渲染中的表尾数据
*/
getTableData(): {
fullData: any[]
visibleData: any[]
tableData: any[]
footerData: any[][]
}
/**
* 隐藏指定列
* @param columnOrField 列对象或字段名
*/
hideColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): Promise<any>
/**
* 显示指定列
* @param columnOrField 列对象或字段名
*/
showColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): Promise<any>
/**
* 设置列宽
* @param fieldOrColumn 列对象或字段名
* @param width 宽度 %px
*/
setColumnWidth(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo, width: number | string): Promise<any>
/**
* 获取列宽
* @param fieldOrColumn 列对象或字段名
*/
getColumnWidth(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): number;
/**
* 手动重置列的显示隐藏、列宽拖动的状态;如果为 true 则重置所有状态
* 如果已关联工具栏,则会同步更新
* @param options 可选参数
*/
resetColumn(options?: boolean | { visible?: boolean, resizable?: boolean }): Promise<any>
/**
* 刷新列配置
* 对于动态修改属性、显示/隐藏列等场景下可能会用到
*/
refreshColumn(): Promise<any>
/**
* 刷新滚动操作,手动同步滚动相关位置
* 对于某些特殊的操作,比如滚动条错位、固定列不同步
*/
refreshScroll(): Promise<any>
/**
* 重新计算表格,如果传 true 则进行完整计算
* 对于某些特殊场景可能会用到,比如隐藏的表格、重新计算列宽...等
*/
recalculate(refull?: boolean): Promise<any>
/**
* 打开 tooltip 提示
* @param target 目标元素
* @param content 内容
*/
openTooltip(target: HTMLElement, content: string | number): Promise<any>
/**
* 关闭 tooltip 提示
*/
closeTooltip(): Promise<any>
/**
* 用于 type=checkbox设置行为选中状态第二个参数为选中与否
* @param rows 指定行
* @param checked 是否选中
*/
setCheckboxRow(rows: any | any[], checked: boolean): Promise<any>
/**
* 用于 type=checkbox判断列头复选框是否被选中
*/
isAllCheckboxChecked(): boolean
/**
* 用于 type=checkbox判断列头复选框是否被半选
*/
isAllCheckboxIndeterminate(): boolean
/**
* 用于 type=checkbox判断复选行数据是否勾选
* @param row 指定行
*/
isCheckedByCheckboxRow(row: any): boolean
/**
* 用于 type=checkbox判断复选行数据是否半选
* @param row 指定行
*/
isIndeterminateByCheckboxRow(row: any): boolean
/**
* 用于 type=checkbox切换某一行的选中状态
* @param row 指定行
*/
toggleCheckboxRow(row: any): Promise<any>
/**
* 用于 type=checkbox设置所有行的选中状态
* @param checked 是否选中
*/
setAllCheckboxRow(checked: boolean): Promise<any>
/**
* 用于 radio-config.reserve获取已保留选中的行数据
*/
getRadioReserveRecord(isFull?: boolean): any[]
/**
* 用于 radio-config.reserve手动清空用户保留选中的行数据
*/
clearRadioReserve(): Promise<any>
/**
* 用于 checkbox-config.reserve获取已保留选中的行数据
*/
getCheckboxReserveRecords(isFull?: boolean): any[]
/**
* 用于 type=checkbox获取半选状态的行数据
*/
getCheckboxIndeterminateRecords(isFull?: boolean): any[]
/**
* 用于 checkbox-config.reserve手动清空用户保留选中的行数据
*/
clearCheckboxReserve(): Promise<any>
/**
* 用于 type=checkbox切换所有行的选中状态
*/
toggleAllCheckboxRow(): Promise<any>
/**
* 用于 type=checkbox手动清空用户的选择
*/
clearCheckboxRow(): Promise<any>
/**
* 用于 row-config.isCurrent设置某一行为高亮状态
* @param row 指定行
*/
setCurrentRow(row: any): Promise<any>
/**
* 用于 type=radio判断单选行数据是否勾选
* @param row 指定行
*/
isCheckedByRadioRow(row: any): boolean
/**
* 用于 type=radio设置某一行为选中状态
* @param row 指定行
*/
setRadioRow(row: any): Promise<any>
/**
* 手动清除临时合并的单元格
*/
clearMergeCells(): Promise<any>
/**
* 手动清除临时合并的表尾
*/
clearMergeFooterItems(): Promise<any>
/**
* 用于 row-config.isCurrent手动清空当前高亮的状态
*/
clearCurrentRow(): Promise<any>
/**
* 用于 type=radio手动清空用户的选择
*/
clearRadioRow(): Promise<any>
/**
* 获取临时合并的单元格
*/
getMergeCells(): VxeTableDefines.MergeInfo[]
/**
* 获取临时合并的表尾
*/
getMergeFooterItems(): VxeTableDefines.MergeInfo[]
/**
* 用于 column-config.isCurrent获取当前列
*/
getCurrentColumn(): VxeTableDefines.ColumnInfo | null
/**
* 用于 row-config.isCurrent获取当前行的行数据
*/
getCurrentRecord(): any
/**
* 用于 type=radio获取当已选中的行数据
*/
getRadioRecord(isFull?: boolean): any
/**
* 用于 column-config.isCurrent设置某列行为高亮状态
* @param columnOrField 列对象或字段名
*/
setCurrentColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): Promise<any>
/**
* 用于 column-config.isCurrent手动清空当前高亮的状态
*/
clearCurrentColumn(): Promise<any>
/**
* 手动对表格进行排序
* @param sortConfs 字段名、多列排序
* @param order 排序方式
*/
sort(field: string, order?: VxeTablePropTypes.SortOrder): Promise<any>
sort(sortConfs: VxeTableDefines.SortConfs, order?: VxeTablePropTypes.SortOrder): Promise<any>
sort(sortConfs: VxeTableDefines.SortConfs[], order?: VxeTablePropTypes.SortOrder): Promise<any>
/**
* 手动清空排序条件,数据会恢复成未排序的状态
* @param columnOrField 列对象或字段名
*/
clearSort(fieldOrColumn?: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo | null): Promise<any>
/**
* 判断指定列是否为排序状态,如果为空则判断所有列
* @param columnOrField 列对象或字段名
*/
isSort(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): boolean
/**
* 获取当前排序的列信息
*/
getSortColumns(): VxeTableDefines.SortCheckedParams[]
/**
* 手动关闭筛选面板
*/
closeFilter(): Promise<any>
/**
* 判断指定列是否为筛选状态,如果为空则判断所有列
* @param columnOrField 列对象或字段名
*/
isFilter(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): boolean
/**
* 用于 expand-config.lazy用于懒加载展开行判断展开行是否懒加载完成
* @param row 指定行
*/
isRowExpandLoaded(row: any): boolean
/**
* 用于 expand-config.lazy手动清空懒加载展开行的状态数据会恢复成未展开的状态当再次展开时会重新加载
*/
clearRowExpandLoaded(row: any): Promise<any>
/**
* 重新懒加载展开行,并展开内容
* @param row 指定行
*/
reloadRowExpand(row: any): Promise<any>
/**
* @deprecated 已废弃,请使用 reloadRowExpand
*/
reloadExpandContent(row: any): Promise<any>
/**
* 用于 type=expand切换展开行的状态
* @param row 指定行
*/
toggleRowExpand(row: any): Promise<any>
/**
* 用于 expand-config设置所有行的展开与否
* 如果是关闭所有行,可以使用 clearRowExpand 快速清除
* @param checked 是否选中
*/
setAllRowExpand(checked: boolean): Promise<any>
/**
* 用于 expand-config设置展开行二个参数设置这一行展开与否
* @param rows 指定行
* @param checked 是否选中
*/
setRowExpand(rows: any | any[], checked: boolean): Promise<any>
/**
* 用于 expand-config判断行是否为展开状态
* @param row 指定行
*/
isExpandByRow(row: any): boolean
/**
* 用于 type=expand手动清空展开行状态数据会恢复成未展开的状态
*/
clearRowExpand(): Promise<any>
/**
* 用于 type=expand手动清空用户保留行的展开状态
*/
clearRowExpandReserve(): Promise<any>
/**
* 用于 expand-config用于展开行获取已展开的行数据
*/
getRowExpandRecords(): any[]
/**
* 用于 tree-config用于树表格获取已展开的节点
* 注意,即使父节点被收起,只要该节点还处于展开状态都能获取到
*/
getTreeExpandRecords(): any[]
/**
* 用于 tree-config.lazy用于懒加载树表格判断树节点是否懒加载完成
*/
isTreeExpandLoaded(row: any): boolean
/**
* 用于 tree-config.lazy手动清空懒加载树节点的状态数据会恢复成未展开的状态当再次展开时会重新加载
*/
clearTreeExpandLoaded(row: any): Promise<any>
/**
* 重新懒加载树节点,并展开该节点
* @param rows 指定行
*/
reloadTreeExpand(row: any): Promise<any>
/**
* @deprecated 已废弃,请使用 reloadTreeExpand
*/
reloadTreeChilds(row: any): Promise<any>
/**
* 用于 tree-config切换展开树形节点的状态
* @param row 指定行
*/
toggleTreeExpand(row: any): Promise<any>
/**
* 用于 tree-config设置所有树节点的展开与否
* 如果是关闭所有树节点,可以使用 clearTreeExpand 快速清除
* @param checked 是否选中
*/
setAllTreeExpand(checked: boolean): Promise<any>
/**
* 用于 tree-config设置展开树形节点二个参数设置这一行展开与否
* @param rows 指定行
* @param checked 是否选中
*/
setTreeExpand(rows: any | any[], checked: boolean): Promise<any>
/**
* 用于 tree-config判断行是否为树形节点展开状态
* @param row 指定行
*/
isTreeExpandByRow(row: any): boolean
/**
* 用于 tree-config手动清空树形节点的展开状态数据会恢复成未展开的状态
*/
clearTreeExpand(): Promise<any>
/**
* 用于 tree-config.reserve手动清空用户保留树节点的展开状态
*/
clearTreeExpandReserve(): Promise<any>
/**
* 获取表格的滚动状态
*/
getScroll(): {
virtualX: boolean
virtualY: boolean
scrollTop: number
scrollLeft: number
}
/**
* 如果有滚动条,则滚动到对应的位置
* @param scrollLeft 左边距离
* @param scrollTop 顶部距离
*/
scrollTo(scrollLeft: number | null, scrollTop?: number | null): Promise<void>
/**
* 如果有滚动条,则滚动到对应的行
* @param row 指定行
* @param columnOrField 列对象或字段名
*/
scrollToRow(row: any, fieldOrColumn?: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): Promise<any>
/**
* 如果有滚动条,则滚动到对应的列
* @param columnOrField 列对象或字段名
*/
scrollToColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo): Promise<any>
/**
* 手动清除滚动相关信息,还原到初始状态
*/
clearScroll(): Promise<any>
/**
* 手动更新表尾
*/
updateFooter(): Promise<any>
/**
* 更新单元格状态
* @param params 插槽对象
*/
updateStatus(
params: {
row: any
column: VxeTableDefines.ColumnInfo
},
cellValue?: any
): Promise<any>
/**
* 取消单元格的临时合并状态,如果为数组,则取消多个合并
*/
removeMergeCells(merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]): Promise<VxeTableDefines.MergeInfo[]>
/**
* 取消表尾的临时合并状态,如果为数组,则取消多个合并
*/
removeMergeFooterItems(merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]): Promise<VxeTableDefines.MergeInfo[]>
/**
* 临时合并单元格,如果为数组则合并多个
*/
setMergeCells(merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]): Promise<any>
/**
* 临时合并表尾,如果为数组则合并多个
*/
setMergeFooterItems(merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]): Promise<any>
/**
* 用于 mouse-config.area更新已选区域的单元格样式
*/
updateCellAreas(): Promise<void>
/**
* 连接工具栏
* @param toolbar 工具栏组件实例
*/
connect(toolbar: VxeToolbarConstructor | VxeToolbarInstance): Promise<any>
/**
* 使表格获取焦点
*/
focus(): Promise<any>
/**
* 使表格失去焦点
*/
blur(): Promise<any>
}
export interface VxeTableMethods extends TableMethods { }
export interface TablePrivateMethods {
getSetupOptions(): VXETableSetupOptions
updateAfterDataIndex(): void
callSlot<T>(slotFunc: ((params: T) => SlotVNodeType | SlotVNodeType[]) | string | null, params: T): SlotVNodeType[]
getParentElem(): Element | null
getParentHeight(): number
getExcludeHeight(): number
defineField(records: any[]): any
handleTableData(force?: boolean): Promise<any>
cacheRowMap(isSource?: boolean): void
saveCustomResizable(isReset?: boolean): void
saveCustomVisible(): void
analyColumnWidth(): void
checkSelectionStatus(): void
handleSelectRow(params: any, value: any, isForce?: boolean): void
handleCustom(): Promise<any>
preventEvent(evnt: any, type: any, args?: any, next?: any, end?: any): any
triggerHeaderHelpEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams): void
triggerHeaderTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams): void
triggerBodyTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams): void
triggerFooterTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams): void
handleTargetLeaveEvent(evnt: MouseEvent): void
triggerHeaderCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams): void
triggerHeaderCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams): void
triggerCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams): void
triggerCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams): void
handleToggleCheckRowEvent(evnt: Event | null, params: { row: any }): void
triggerCheckRowEvent(evnt: Event, params: { row: any }, value: boolean): void
triggerCheckAllEvent(evnt: MouseEvent | null, value: boolean): void
triggerRadioRowEvent(evnt: Event, params: { row: any }): void
triggerCurrentRowEvent(evnt: Event, params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
row: any
rowIndex: number
$rowIndex: number
}): void
triggerRowExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams): void
triggerTreeExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams): void
triggerSortEvent(evnt: Event, column: VxeTableDefines.ColumnInfo, order: VxeTablePropTypes.SortOrder): void
triggerScrollXEvent(evnt: Event): void
triggerScrollYEvent(evnt: Event): void
scrollToTreeRow(row: any): Promise<any>
updateScrollYStatus(fullData?: any[]): boolean
updateScrollXSpace(): void
updateScrollYSpace(): void
updateScrollXData(): void
updateScrollYData(): void
checkScrolling(): void
updateZindex(): void
handleCheckedCheckboxRow(rows: any, value: boolean, isForce?: boolean): Promise<any>
triggerHoverEvent(evnt: any, params: any): void
setHoverRow(row: any): void
clearHoverRow(): void
getCell(row: any, column: VxeTableDefines.ColumnInfo): HTMLTableDataCellElement | null
getCellLabel(row: any, column: VxeTableDefines.ColumnInfo): any
findRowIndexOf(list: any[], row: any): number
eqRow(row1: any, row2: any): boolean
}
export interface VxeTablePrivateMethods extends TablePrivateMethods { }
export interface TableReactData {
// 低性能的静态列
staticColumns: any[]
// 渲染的列分组
tableGroupColumn: any[]
// 可视区渲染的列
tableColumn: any[]
// 渲染中的数据
tableData: any[]
// 是否启用了横向 X 可视渲染方式加载
scrollXLoad: boolean
// 是否启用了纵向 Y 可视渲染方式加载
scrollYLoad: boolean
// 是否存在纵向滚动条
overflowY: boolean
// 是否存在横向滚动条
overflowX: boolean
// 纵向滚动条的宽度
scrollbarWidth: number
// 横向滚动条的高度
scrollbarHeight: number
// 行高
rowHeight: number
// 表格父容器的高度
parentHeight: number
// 是否使用分组表头
isGroup: boolean
isAllOverflow: boolean
// 复选框属性,是否全选
isAllSelected: boolean
// 复选框属性,有选中且非全选状态
isIndeterminate: boolean
// 复选框属性,已选中的行
selection: any[]
// 当前行
currentRow: any
// 单选框属性,选中列
currentColumn: any
// 单选框属性,选中行
selectRow: any
// 表尾合计数据
footerTableData: any[][]
// 展开列信息
expandColumn: any
hasFixedColumn: boolean
// 树节点列信息
treeNodeColumn: any
// 已展开的行
rowExpandeds: any[]
// 懒加载中的展开行的列表
expandLazyLoadeds: any[]
// 已展开树节点
treeExpandeds: any[]
// 懒加载中的树节点的列表
treeLazyLoadeds: any[]
// 树节点不确定状态的列表
treeIndeterminates: any[]
// 合并单元格的对象集
mergeList: VxeTableDefines.MergeItem[]
// 合并表尾数据的对象集
mergeFooterList: VxeTableDefines.MergeItem[]
// 初始化标识
initStore: {
filter: boolean
import: boolean
export: boolean
},
// 当前选中的筛选列
filterStore: {
isAllSelected: boolean
isIndeterminate: boolean
style: any
options: any[]
column: any
multiple: boolean
visible: boolean
maxHeight: number | null
[key: string]: any
},
// 存放列相关的信息
columnStore: {
leftList: VxeTableDefines.ColumnInfo[]
centerList: VxeTableDefines.ColumnInfo[]
rightList: VxeTableDefines.ColumnInfo[]
resizeList: VxeTableDefines.ColumnInfo[]
pxList: VxeTableDefines.ColumnInfo[]
pxMinList: VxeTableDefines.ColumnInfo[]
scaleList: VxeTableDefines.ColumnInfo[]
scaleMinList: VxeTableDefines.ColumnInfo[]
autoList: VxeTableDefines.ColumnInfo[]
},
// 存放快捷菜单的信息
ctxMenuStore: {
selected: any
visible: boolean
showChild: boolean
selectChild: any
list: any[][]
style: any
[key: string]: any
},
// 存放可编辑相关信息
editStore: {
indexs: {
columns: any[]
},
titles: {
columns: any[]
},
// 选中源
selected: {
row: any
column: any
[key: string]: any
},
// 已复制源
copyed: {
cut: boolean
rows: any[]
columns: any[]
[key: string]: any
},
// 激活
actived: {
row: any
column: any
[key: string]: any
},
insertList: any[]
insertMaps: {
[key: string]: any
}
removeList: any[]
removeMaps: {
[key: string]: any
}
},
// 存放 tooltip 相关信息
tooltipStore: {
row: any
column: any
content: any
visible: boolean,
currOpts: any
}
// 存放数据校验相关信息
validStore: {
visible: boolean
row: any
column: any
content: any
rule: any
isArrow: boolean
},
// 导入相关信息
importStore: {
inited: boolean
file: any
type: any
modeList: any[]
typeList: any[]
filename: any
visible: boolean
},
importParams: {
mode: any
types: any
message: boolean
},
// 导出相关信息
exportStore: {
inited: boolean
name: any
modeList: any[]
typeList: any[]
columns: any[]
isPrint: boolean
hasFooter: boolean
hasMerge: boolean
hasTree: boolean
hasColgroup: boolean
visible: boolean
},
exportParams: {
filename: any
sheetName: any
mode: any
type: any
isColgroup: boolean
isMerge: boolean
isAllExpand: boolean
useStyle: boolean
original: boolean
message: boolean
isHeader: boolean
isFooter: boolean
}
}
export interface TableInternalData {
tZindex: number
elemStore: {
[key: string]: Ref<HTMLElement> | null
}
// 存放横向 X 虚拟滚动相关的信息
scrollXStore: {
offsetSize: number
visibleSize: number
startIndex: number
endIndex: number
}
// 存放纵向 Y 虚拟滚动相关信息
scrollYStore: {
adaptive?: boolean
rowHeight: number
offsetSize: number
visibleSize: number
startIndex: number
endIndex: number
}
// 表格宽度
tableWidth: number
// 表格高度
tableHeight: number
// 表头高度
headerHeight: number
// 表尾高度
footerHeight: number
customHeight: number
customMaxHeight: number
// 当前 hover 行
hoverRow: any
// 最后滚动位置
lastScrollLeft: number
lastScrollTop: number
lastScrollTime: number
// 单选框属性,已选中保留的行
radioReserveRow: any
// 复选框属性,已选中保留的行
checkboxReserveRowMap: any
// 行数据,已展开保留的行
rowExpandedReserveRowMap: any
// 树结构数据,已展开保留的行
treeExpandedReserveRowMap: any
// 列表完整数据、条件处理后
tableFullData: any[]
afterFullData: any[]
tableSynchData: any[]
tableSourceData: any[]
// 树的全量数据、条件处理后
tableFullTreeData: any[]
afterTreeFullData: any[]
// 收集的列配置(带分组)
collectColumn: VxeTableDefines.ColumnInfo[],
// 完整所有列(不带分组)
tableFullColumn: VxeTableDefines.ColumnInfo[]
// 渲染所有列
visibleColumn: VxeTableDefines.ColumnInfo[]
// 缓存数据集
fullAllDataRowIdData: {
[key: string]: {
row: any
rowid: string
seq: string | number
index: number
$index: number
_index: number
items: any[]
parent: any
level: number
treeLoaded?: boolean
expandLoaded?: boolean
formatData?: {
[key: string]: {
value: any
label: any
}
}
}
}
fullDataRowIdData: {
[key: string]: {
row: any
rowid: string
seq: string | number
index: number
$index: number
_index: number
items: any[]
parent: any
level: number
}
}
fullColumnIdData: {
[key: string]: {
column: VxeTableDefines.ColumnInfo
colid: string
index: number
$index: number
_index: number
items: VxeTableDefines.ColumnInfo[]
parent: VxeTableDefines.ColumnInfo
}
}
fullColumnFieldData: {
[key: string]: {
column: VxeTableDefines.ColumnInfo
colid: string
index: number
items: VxeTableDefines.ColumnInfo[]
parent: VxeTableDefines.ColumnInfo
}
}
// 特殊标识
inited: boolean
tooltipTimeout: any
initStatus: boolean
isActivated: boolean
// 内部属性
_lastResizeTime?: any
_isResize?: boolean
_keyCtx?: any
_lastCallTime?: any
_importResolve?: ((...args: any[]) => any) | null
_importReject?: ((...args: any[]) => any) | null
_currFilterParams?: any
_currMenuParams?: any
}
export namespace VxeTablePropTypes {
export type Size = SizeType
export type ID = string
export type Data<T = any> = T[]
export type Height = number | string
export type MaxHeight = number | string
export type Resizable = boolean
export type Stripe = boolean
export type Round = boolean
export type Border = boolean | 'default' | 'full' | 'outer' | 'inner' | 'none' | ''
export type Loading = boolean
export type Align = 'left' | 'center' | 'right' | '' | null
export type HeaderAlign = Align
export type FooterAlign = Align
export type ShowHeader = boolean
export type HighlightCurrentRow = boolean
export type HighlightHoverRow = boolean
export type HighlightCurrentColumn = boolean
export type HighlightHoverColumn = boolean
export type HighlightCell = boolean
export type ShowFooter = boolean
export type FooterMethod = (params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
columns: VxeTableDefines.ColumnInfo[]
data: any[]
}) => Array<string | number | null>[]
export type RowClassName = string | ((params: {
row: any
rowIndex: number
$rowIndex: number
_rowIndex: number
}) => void | null | string | { [key: string]: boolean })
export type CellClassName = string | ((params: {
row: any
rowIndex: number
$rowIndex: number
_rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
}) => void | null | string | { [key: string]: boolean })
export type HeaderRowClassName = string | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$rowIndex: number
fixed: VxeColumnPropTypes.Fixed
type: string
}) => void | null | string | { [key: string]: boolean })
export type HeaderCellClassName = string | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$rowIndex: number
column: VxeTableDefines.ColumnInfo
fixed: VxeColumnPropTypes.Fixed
type: string
}) => void | null | string | { [key: string]: boolean })
export type FooterRowClassName = string | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$rowIndex: number
_rowIndex: number
fixed: VxeColumnPropTypes.Fixed
type: string
}) => void | null | string | { [key: string]: boolean })
export type FooterCellClassName = string | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$rowIndex: number
_rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
}) => void | null | string | { [key: string]: boolean })
export type CellStyle = VNodeStyle | ((params: {
row: any
rowIndex: number
$rowIndex: number
_rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
}) => void | null | VNodeStyle)
export type HeaderCellStyle = VNodeStyle | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
_columnIndex: number
}) => void | null | VNodeStyle)
export type FooterCellStyle = VNodeStyle | ((params: {
$rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
}) => void | null | VNodeStyle)
export type RowStyle = VNodeStyle | ((params: {
row: any
rowIndex: number
$rowIndex: number
_rowIndex: number
}) => void | null | VNodeStyle)
export type HeaderRowStyle = VNodeStyle | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$rowIndex: number
fixed: VxeColumnPropTypes.Fixed
type: string
}) => void | null | VNodeStyle)
export type FooterRowStyle = VNodeStyle | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
$rowIndex: number
_rowIndex: number
fixed: VxeColumnPropTypes.Fixed
type: string
}) => void | null | VNodeStyle)
export type MergeCell = VxeTableDefines.MergeOptions
export type MergeCells = MergeCell[]
export type MergeFooterItem = VxeTableDefines.MergeOptions
export type MergeFooterItems = MergeFooterItem[]
export type SpanMethod = (params: {
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
row: any
rowIndex: number
$rowIndex: number
_rowIndex: number
isHidden: boolean
fixed: VxeColumnPropTypes.Fixed
type: string
visibleData: any[]
}) => void | { rowspan: number, colspan: number }
export type FooterSpanMethod = (params: {
column: VxeTableDefines.ColumnInfo
columnIndex: number
_columnIndex: number
$columnIndex: number
$rowIndex: number
_rowIndex: number
items: any[]
data: any[][]
}) => void | { rowspan: number, colspan: number }
export type ShowOverflow = boolean | 'ellipsis' | 'title' | 'tooltip' | '' | null
export type ShowHeaderOverflow = ShowOverflow
export type ShowFooterOverflow = ShowOverflow
export type ColumnKey = boolean
export type RowKey = boolean
export type RowId = string
export type KeepSource = boolean
export type AutoResize = boolean
export type SyncResize = boolean | string | number
/**
* 响应式布局配置项
*/
export interface ResizeConfig {
refreshDelay?: number
}
export interface ResizeOpts extends ResizeConfig { }
/**
* 列配置信息
*/
export interface ColumnConfig {
useKey?: boolean
isCurrent?: boolean
isHover?: boolean
resizable?: VxeColumnPropTypes.Resizable
width?: VxeColumnPropTypes.Width
minWidth?: VxeColumnPropTypes.MinWidth
maxWidth?: VxeColumnPropTypes.MaxWidth
}
export interface ColumnOpts extends ColumnConfig { }
/**
* 行配置信息
*/
export interface RowConfig {
useKey?: boolean
keyField?: string
isCurrent?: boolean
isHover?: boolean
height?: number
}
export interface RowOpts extends RowConfig { }
/**
* 自定义列配置项
*/
export interface CustomConfig {
storage?: boolean | {
visible?: boolean
resizable?: boolean
}
checkMethod?(params: { column: VxeTableDefines.ColumnInfo }): boolean
}
export interface CustomOpts extends CustomConfig { }
/**
* 列调整配置项
*/
export interface ResizableConfig {
minWidth?: number | string | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
$rowIndex: number
cell: HTMLElement
}) => number | string)
maxWidth?: number | string | ((params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
$rowIndex: number
cell: HTMLElement
}) => number | string)
}
export interface ResizableOpts extends ResizableConfig { }
/**
* 序号配置项
*/
export interface SeqConfig {
startIndex?: number
seqMethod?(params: {
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
row: any
rowIndex: number
$rowIndex: number
}): number | string
}
export interface SeqOpts extends SeqConfig { }
interface SortConfigDefaultSort {
field: string
order: SortOrder
}
/**
* 排序配置项
*/
export interface SortConfig {
defaultSort?: SortConfigDefaultSort | SortConfigDefaultSort[]
orders?: SortOrder[]
sortMethod?(params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
data: any[]
sortList: VxeTableDefines.SortCheckedParams[]
}): any[]
remote?: boolean
multiple?: boolean
chronological?: boolean
trigger?: 'default' | 'cell'
showIcon?: boolean
iconAsc?: string
iconDesc?: string
}
export type SortOrder = 'asc' | 'desc' | '' | null
export interface SortOpts extends SortConfig {
orders: SortOrder[]
}
/**
* 筛选配置项
*/
export interface FilterConfig {
filterMethod?: (params: {
options: VxeTableDefines.FilterOption[]
values: any[]
cellValue: any
row: any
column: VxeTableDefines.ColumnInfo
}) => any
remote?: boolean
showIcon?: boolean
iconNone?: string
iconMatch?: string
}
export interface FilterOpts extends FilterConfig { }
/**
* 单选框配置
*/
export interface RadioConfig {
reserve?: boolean
labelField?: string
checkRowKey?: string | number
checkMethod?(params: {
row: any
}): boolean
visibleMethod?(params: {
row: any
}): boolean
trigger?: 'default' | 'cell' | 'row' | '' | null
highlight?: boolean
strict?: boolean
}
export interface RadioOpts extends RadioConfig { }
/**
* 复选框配置项
*/
export interface CheckboxConfig {
reserve?: boolean
labelField?: string
checkField?: string
halfField?: string
showHeader?: boolean
checkAll?: boolean
checkRowKeys?: string[] | number[]
checkStrictly?: boolean
strict?: boolean
checkMethod?(params: {
row: any
}): boolean
visibleMethod?(params: {
row: any
}): boolean
trigger?: 'default' | 'cell' | 'row' | '' | null
highlight?: boolean
range?: boolean
}
export interface CheckboxOpts extends CheckboxConfig { }
/**
* 提示信息配置项
*/
export interface TooltipConfig {
showAll?: boolean
theme?: 'dark' | 'light' | '' | null
enterable?: boolean
enterDelay?: number
leaveDelay?: number
contentMethod?(params: {
items: any[]
row: any
rowIndex: number
$rowIndex: number
_rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
type: 'header' | 'body' | 'footer' | '' | null
cell: HTMLElement
$event: any
}): string | null | void
}
export interface TooltipOpts extends TooltipConfig { }
/**
* 展开行配置项
*/
export interface ExpandConfig {
labelField?: string
expandAll?: boolean
expandRowKeys?: string[] | number[]
accordion?: boolean
trigger?: 'default' | 'cell' | 'row' | '' | null
lazy?: boolean
reserve?: boolean
height?: number
loadMethod?(params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
row: any
rowIndex: number
$rowIndex: number
}): Promise<void>
toggleMethod?(params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
expanded: boolean
row: any
rowIndex: number
$rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
}): boolean
visibleMethod?(params: VxeTableDefines.CellRenderBodyParams): boolean
showIcon?: boolean
iconOpen?: string
iconClose?: string
iconLoaded?: string
}
export interface ExpandOpts extends ExpandConfig { }
/**
* 树形结构配置项
*/
export interface TreeConfig {
transform?: boolean
rowField?: string
parentField?: string
children?: string
mapChildren?: string
indent?: number
line?: boolean
expandAll?: boolean
expandRowKeys?: string[] | number[]
accordion?: boolean
trigger?: 'default' | 'cell' | 'row' | '' | null
lazy?: boolean
hasChild?: string
reserve?: boolean
loadMethod?(params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
row: any
}): Promise<any[]>
toggleMethod?(params: {
$table: VxeTableConstructor & VxeTablePrivateMethods
expanded: boolean
row: any
column: VxeTableDefines.ColumnInfo
columnIndex: number
$columnIndex: number
}): boolean
showIcon?: boolean
iconOpen?: string
iconClose?: string
iconLoaded?: string
}
export interface TreeOpts extends TreeConfig {
rowField: string
parentField: string
children: string
indent: number
hasChild: string
mapChildren: string
iconOpen: string
iconClose: string
iconLoaded: string
}
/**
* 快捷菜单配置项
*/
export interface MenuConfig {
header?: VxeTableDefines.MenuOptions
body?: VxeTableDefines.MenuOptions
footer?: VxeTableDefines.MenuOptions
trigger?: 'default' | 'cell' | '' | null
className?: string
visibleMethod?(params: {
type: string
options: VxeTableDefines.MenuFirstOption[][]
columns: VxeTableDefines.ColumnInfo[]
row?: any
rowIndex?: number
column?: VxeTableDefines.ColumnInfo
columnIndex?: number
}): boolean
}
/**
* 鼠标配置项
*/
export interface MouseConfig {
selected?: boolean
/**
* 如果功能被支持,则开启单元格区域选取功能,非连续的区域,按住 Ctrl 键,用鼠标逐一选取
*/
area?: boolean
/**
* 只对 area 启用后有效,是否开启区域扩展选取功能,开启后可以通过鼠标左键按住区域内右下角扩展按钮,将区域横向或纵向扩大(支持扩大区域并复制值)
*/
extension?: boolean
}
export interface MouseOpts extends MouseConfig { }
/**
* 区域配置项
*/
export interface AreaConfig {
/**
* 只对 mouse-config.area 启用后有效,点击列头是否选取当前列的所有单元格
*/
selectCellByHeader?: boolean
/**
* 只对 mouse-config.extension 启用后有效,将被选取区域的值复制到扩展区域中
*/
extendByCopy?: boolean
/**
* 只对 mouse-config.extension 启用后有效,扩展区域时将自动识别数字规则进行计算
*/
extendByCalc?: boolean
/**
* 只对 extendByCalc 启用后有效,重写单元格扩展区域计算值的方法
* @param params
*/
extendCalcMethod?(params: VxeTableProDefines.ExtendCellAreaCalcBaseParams): any[][]
/**
* 只对 extendByCopy | extendByCalc 启用后有效,重写单元格扩展区域赋值的方法
* @param params
*/
extendSetMethod?(params: {
cellValue: any
row: any
column: VxeTableDefines.ColumnInfo
} & VxeTableProDefines.ExtendCellAreaCalcBaseParams): void
/**
* 只对 extendByCopy | extendByCalc 启用后有效,自定义单元格扩展区域赋值之前的方法,可以通过返回 false 阻止扩展行为
* @param params
*/
beforeExtendSetMethod?(params: VxeTableProDefines.ExtendCellAreaCalcBaseParams): boolean
/**
* 只对 extendByCopy | extendByCalc 启用后有效,自定义单元格扩展区域赋值之后的方法
* @param params
*/
afterExtendSetMethod?(params: {
extendValues: any[][]
} & VxeTableProDefines.ExtendCellAreaCalcBaseParams): boolean
}
export interface AreaOpts extends AreaConfig { }
/**
* 按键配置项
*/
export interface KeyboardConfig {
/**
* 是否开启非编辑状态下,上下左右移动功能
*/
isArrow?: boolean
/**
* 是否开启Esc键退出编辑功能
*/
isEsc?: boolean
/**
* 是否开启删除键功能
*/
isDel?: boolean
/**
* 是否开启回车移动上下行移动
*/
isEnter?: boolean
/**
* 如果功能被支持,用于 mouse-config.area开启同时按住方向键以活动区域为起始向指定方向延伸单元格区域
*/
isShift?: boolean
/**
* 是否开启TAB键左右移动功能
*/
isTab?: boolean
/**
* 是否开启单元格选择编辑
*/
isEdit?: boolean
/**
* 用于 mouse-config.area开启合并和取消合并功能
*/
isMerge?: boolean
/**
* 用于 mouse-config.area开启复制/剪贴/粘贴功能
*/
isClip?: boolean
/**
* 如果功能被支持,用于 mouse-config.area开启查找和替换功能
*/
isFNR?: boolean
/**
* 用于 mouse-config.area & column.type=checkbox|radio开启空格键切换复选框或单选框状态功能
*/
isChecked?: boolean
/**
* 用于 mouse-config.area是否将回车键行为改成 Tab 键行为
*/
enterToTab?: boolean
/**
* 只对 isDel=true 有效,用于删除键清空单元格内容方法
*/
delMethod?(params: {
row: any
rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$table: VxeTableConstructor & VxeTablePrivateMethods
}): void
/**
* 只对 isDel=true 有效,用于重写回退键清空单元格内容并激活为编辑状态方法
*/
backMethod?(params: {
row: any
rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$table: VxeTableConstructor & VxeTablePrivateMethods
}): void
/**
* 只对 isEdit=true 有效,用于重写编辑单元格方法
*/
editMethod?(params: {
row: any
rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
}
export interface KeyboardOpts extends KeyboardConfig { }
/**
* 复制/粘贴配置项
*/
export interface ClipConfig {
/**
* 是否启用复制功能
*/
isCopy?: boolean
/**
* 是否启用剪贴功能
*/
isCut?: boolean
/**
* 是否启用粘贴功能
*/
isPaste?: boolean
/**
* 是否填充粘贴,如果启用了,当被选取的粘贴单元格与粘贴单元格的行与列数量不匹配时,会将内容强制粘贴所选的单元格
*/
isFillPaste?: boolean
/**
* 是否启用行自增,当粘贴的行数超出表格时自动插入新行
*/
isRowIncrement?: boolean
/**
* 是否启用列自增,当粘贴的列数超出表格时自动插入新列(需要注意自增的列自字段是否定义,否则将无法响应)
*/
isColumnIncrement?: boolean
/**
* 重写单元格复制取值的方法,将单元格复制到剪贴板
*/
copyMethod?(params: {
isCut: boolean
row: any
column: VxeTableDefines.ColumnInfo
cellValue: any
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): string
/**
* 自定义单元格复制取值之前的方法,可以通过返回 false 阻止复制行为
*/
beforeCopyMethod?(params: {
isCut: boolean
activeArea: VxeTableProDefines.MouseActiveCellArea
targetAreas: VxeTableProDefines.CellAreaParams[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
/**
* 自定义单元格复制到剪贴板之后的方法
*/
afterCopyMethod?(params: {
isCut: boolean
targetAreas: VxeTableProDefines.CellAreaParams[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
/**
* 重写单元格剪贴值清除的方法,将剪贴单元格的值清除
*/
cutMethod?: (params: {
row: any,
column: VxeTableDefines.ColumnInfo
cellValue: any
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}) => void
/**
* 自定义单元格剪贴值清除之前的方法,可以通过返回 false 阻止清除行为
*/
beforeCutMethod?: (params: {
activeArea: VxeTableProDefines.MouseActiveCellArea
cutAreas: VxeTableProDefines.CellAreaParams[]
currentAreas: VxeTableProDefines.CellAreaParams[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}) => boolean
/**
* 自定义单元格剪贴值清除之后的方法
*/
afterCutMethod?: (params: {
cutAreas: VxeTableProDefines.CellAreaParams[]
currentAreas: VxeTableProDefines.CellAreaParams[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}) => void
/**
* 重写单元格粘贴赋值的方法,从剪贴板赋值到单元格
*/
pasteMethod?(params: {
isCut: boolean
row: any,
column: VxeTableDefines.ColumnInfo
cellValue: any
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): void
/**
* 自定义单元格粘贴赋值之前的方法,可以通过返回 false 阻止复制行为
*/
beforePasteMethod?(params: {
isCut: boolean
activeArea: VxeTableProDefines.MouseActiveCellArea
cutAreas: VxeTableProDefines.CellAreaParams[]
currentAreas: VxeTableProDefines.CellAreaParams[]
targetAreas: VxeTableProDefines.CellAreaParams[]
cellValues: string[][]
pasteCells: string[][]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
/**
* 自定义单元格粘贴赋值之后的方法
*/
afterPasteMethod?(params: {
isCut: boolean
currentAreas: VxeTableProDefines.CellAreaParams[]
cutAreas: VxeTableProDefines.CellAreaParams[]
targetAreas: VxeTableProDefines.CellAreaParams[]
cellValues: any[][]
pasteCells: string[][]
insertRows: any[]
insertColumns: VxeTableDefines.ColumnInfo[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
/**
* 只对 isRowIncrement 有效,自定义创建自增行数据的方法
*/
createRowsMethod?(params: {
currentAreas: VxeTableProDefines.CellAreaParams[]
targetAreas: VxeTableProDefines.CellAreaParams[]
cellValues: any[][]
pasteCells: string[][]
insertRows: any[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): any[]
/**
* 只对 isColumnIncrement 有效,自定义创建自增列配置的方法
*/
createColumnsMethod?(params: {
currentAreas: VxeTableProDefines.CellAreaParams[]
targetAreas: VxeTableProDefines.CellAreaParams[]
cellValues: any[][]
pasteCells: string[][]
insertColumns: VxeTableDefines.ColumnOptions[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): VxeTableDefines.ColumnOptions[]
}
export interface ClipOpts extends ClipConfig { }
/**
* 查找/替换配置项
*/
export interface FNRConfig {
isFind?: boolean
findMethod?(params: {
cellValue: any
isWhole: boolean
isRE: boolean
isSensitive: boolean
findValue: string | null
findRE: RegExp | null
}): boolean
beforeFindMethod?(params: {
isAll: boolean
findValue: string | null
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
afterFindMethod?(params: {
isAll: boolean
findValue: string | null
result: VxeTableProDefines.FindAndReplaceResult[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): void
isReplace?: boolean
replaceMethod?: (params: {
row: any
column: VxeTableDefines.ColumnInfo
cellValue: any
}) => void
beforeReplaceMethod?: (params: {
isAll: boolean
findValue: string | null
replaceValue: string
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}) => boolean
afterReplaceMethod?: (params: {
isAll: boolean
findValue: string | null
replaceValue: string
result: VxeTableProDefines.FindAndReplaceResult[]
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}) => void
}
export interface FNROpts extends FNRConfig { }
/**
* 编辑配置项
*/
export interface EditConfig {
trigger?: 'manual' | 'click' | 'dblclick' | '' | null
enabled?: boolean
mode?: string
icon?: string
showIcon?: boolean
showStatus?: boolean
showUpdateStatus?: boolean
showInsertStatus?: boolean
showAsterisk?: boolean
autoClear?: boolean
/**
* 该方法的返回值用来决定该单元格是否允许编辑
*/
beforeEditMethod?(params: {
row: any
rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
/**
* 请使用 beforeEditMethod
* @deprecated
*/
activeMethod?(params: {
row: any
rowIndex: number
column: VxeTableDefines.ColumnInfo
columnIndex: number
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null | undefined
}): boolean
}
export interface EditOpts extends EditConfig { }
/**
* 校验配置项
*/
export interface ValidConfig {
autoPos?: boolean
showMessage?: boolean
message?: string
maxWidth?: number
}
export interface ValidOpts extends ValidConfig { }
/**
* 校验规则配置项
*/
export interface EditRules {
[field: string]: VxeTableDefines.ValidatorRule[]
}
export type ZIndex = number
export type EmptyText = string
export interface LoadingConfig {
icon?: string
text?: string
}
export interface LoadingOpts extends LoadingConfig { }
export interface EmptyRender extends VxeGlobalRendererHandles.RenderOptions { }
export interface EmptyOpts extends EmptyRender { }
export type Fit = boolean
export type Animat = boolean
export type DelayHover = number
export interface ScrollX {
gt?: number
oSize?: number
enabled?: boolean
scrollToLeftOnChange?: boolean
}
export interface SXOpts extends ScrollX {
gt: number
oSize: number
}
export interface ScrollY {
mode?: 'default' | 'wheel'
gt?: number
oSize?: number
enabled?: boolean
scrollToTopOnChange?: boolean
/**
* @deprecated 请使用 row-config.height
*/
rHeight?: number
adaptive?: boolean
}
export interface SYOpts extends ScrollY {
gt: number
oSize: number
}
export type Params = any
}
export type VxeTableProps<D = any> = {
size?: VxeTablePropTypes.Size
id?: VxeTablePropTypes.ID
data?: VxeTablePropTypes.Data<D>
height?: VxeTablePropTypes.Height
maxHeight?: VxeTablePropTypes.MaxHeight
/**
* 不建议使用,后续废弃
* @deprecated
*/
resizable?: VxeTablePropTypes.Resizable
stripe?: VxeTablePropTypes.Stripe
round?: VxeTablePropTypes.Round
border?: VxeTablePropTypes.Border
loading?: VxeTablePropTypes.Loading
align?: VxeTablePropTypes.Align
headerAlign?: VxeTablePropTypes.HeaderAlign
footerAlign?: VxeTablePropTypes.FooterAlign
showHeader?: VxeTablePropTypes.ShowHeader
highlightCurrentRow?: VxeTablePropTypes.HighlightCurrentRow
highlightHoverRow?: VxeTablePropTypes.HighlightHoverRow
highlightCurrentColumn?: VxeTablePropTypes.HighlightCurrentColumn
highlightHoverColumn?: VxeTablePropTypes.HighlightHoverColumn
/**
* 已废弃
* @deprecated
*/
highlightCell?: VxeTablePropTypes.HighlightCell
showFooter?: VxeTablePropTypes.ShowFooter
footerMethod?: VxeTablePropTypes.FooterMethod
rowClassName?: VxeTablePropTypes.RowClassName
cellClassName?: VxeTablePropTypes.CellClassName
headerRowClassName?: VxeTablePropTypes.HeaderRowClassName
headerCellClassName?: VxeTablePropTypes.HeaderCellClassName
footerRowClassName?: VxeTablePropTypes.FooterRowClassName
footerCellClassName?: VxeTablePropTypes.FooterCellClassName
cellStyle?: VxeTablePropTypes.CellStyle
headerCellStyle?: VxeTablePropTypes.HeaderCellStyle
footerCellStyle?: VxeTablePropTypes.FooterCellStyle
rowStyle?: VxeTablePropTypes.RowStyle
headerRowStyle?: VxeTablePropTypes.HeaderRowStyle
footerRowStyle?: VxeTablePropTypes.FooterRowStyle
mergeCells?: VxeTablePropTypes.MergeCells
mergeFooterItems?: VxeTablePropTypes.MergeFooterItems
spanMethod?: VxeTablePropTypes.SpanMethod
footerSpanMethod?: VxeTablePropTypes.FooterSpanMethod
showOverflow?: VxeTablePropTypes.ShowOverflow
showHeaderOverflow?: VxeTablePropTypes.ShowHeaderOverflow
showFooterOverflow?: VxeTablePropTypes.ShowFooterOverflow
/**
* 请使用 column-config.useKey
* @deprecated
*/
columnKey?: VxeTablePropTypes.ColumnKey
/**
* 请使用 row-config.useKey
* @deprecated
*/
rowKey?: VxeTablePropTypes.RowKey
/**
* 请使用 row-config.keyField
* @deprecated
*/
rowId?: VxeTablePropTypes.RowId
keepSource?: VxeTablePropTypes.KeepSource
autoResize?: VxeTablePropTypes.AutoResize
syncResize?: VxeTablePropTypes.SyncResize
columnConfig?: VxeTablePropTypes.ColumnConfig
rowConfig?: VxeTablePropTypes.RowConfig
customConfig?: VxeTablePropTypes.CustomConfig
resizeConfig?: VxeTablePropTypes.ResizeConfig
resizableConfig?: VxeTablePropTypes.ResizableConfig
seqConfig?: VxeTablePropTypes.SeqConfig
sortConfig?: VxeTablePropTypes.SortConfig
filterConfig?: VxeTablePropTypes.FilterConfig
radioConfig?: VxeTablePropTypes.RadioConfig
checkboxConfig?: VxeTablePropTypes.CheckboxConfig
tooltipConfig?: VxeTablePropTypes.TooltipConfig
exportConfig?: VxeTablePropTypes.ExportConfig
importConfig?: VxeTablePropTypes.ImportConfig
printConfig?: VxeTablePropTypes.PrintConfig
expandConfig?: VxeTablePropTypes.ExpandConfig
treeConfig?: VxeTablePropTypes.TreeConfig
menuConfig?: VxeTablePropTypes.MenuConfig
mouseConfig?: VxeTablePropTypes.MouseConfig
areaConfig?: VxeTablePropTypes.AreaConfig
fnrConfig?: VxeTablePropTypes.FNRConfig
keyboardConfig?: VxeTablePropTypes.KeyboardConfig
clipConfig?: VxeTablePropTypes.ClipConfig
editConfig?: VxeTablePropTypes.EditConfig
validConfig?: VxeTablePropTypes.ValidConfig
editRules?: VxeTablePropTypes.EditRules
emptyText?: VxeTablePropTypes.EmptyText
emptyRender?: VxeTablePropTypes.EmptyRender
loadingConfig?: VxeTablePropTypes.LoadingConfig
/**
* 不建议使用,后续废弃
* @deprecated
*/
fit?: VxeTablePropTypes.Fit
/**
* 不建议使用,后续废弃
* @deprecated
*/
animat?: VxeTablePropTypes.Animat
/**
* 不建议使用,后续废弃
* @deprecated
*/
delayHover?: VxeTablePropTypes.DelayHover
scrollX?: VxeTablePropTypes.ScrollX
scrollY?: VxeTablePropTypes.ScrollY
params?: VxeTablePropTypes.Params
}
export type VxeTableEmits = [
'update:data',
'keydown-start',
'keydown',
'keydown-end',
'paste',
'copy',
'cut',
'current-change',
'radio-change',
'checkbox-change',
'checkbox-all',
'checkbox-range-start',
'checkbox-range-change',
'checkbox-range-end',
'cell-click',
'cell-dblclick',
'cell-menu',
'cell-mouseenter',
'cell-mouseleave',
'cell-selected',
'header-cell-click',
'header-cell-dblclick',
'header-cell-menu',
'footer-cell-click',
'footer-cell-dblclick',
'footer-cell-menu',
'clear-merge',
'sort-change',
'clear-sort',
'filter-change',
'filter-visible',
'clear-filter',
'resizable-change',
'toggle-row-expand',
'toggle-tree-expand',
'menu-click',
'edit-closed',
'edit-actived',
'edit-disabled',
'valid-error',
'scroll',
'custom',
...VxeTableProEmits
]
export namespace VxeTableDefines {
export interface SortConfs {
field: string
order?: VxeTablePropTypes.SortOrder
}
export interface MergeOptions {
row: any | number
col: VxeTableDefines.ColumnInfo | number
rowspan: number
colspan: number
}
export interface MergeInfo {
row: number
col: number
rowspan: number
colspan: number
}
export interface MergeItem extends MergeInfo {
_row: any
_col: VxeTableDefines.ColumnInfo
_rowspan: number
_colspan: number
}
export interface ColumnOptions extends VxeColumnProps {
children?: ColumnOptions[]
slots?: VxeColumnPropTypes.Slots
}
/**
* 列对象
*/
export class ColumnInfo {
/**
* 该属性已废弃,该属性被 field 替换
* @deprecated
*/
property: VxeColumnPropTypes.Field
/**
* 公开属性
*/
type: VxeColumnPropTypes.Type
field: VxeColumnPropTypes.Field
title: VxeColumnPropTypes.Title
width: VxeColumnPropTypes.Width
minWidth: VxeColumnPropTypes.MinWidth
maxWidth: VxeColumnPropTypes.MaxWidth
resizable: VxeColumnPropTypes.Resizable
fixed: VxeColumnPropTypes.Fixed
align: VxeColumnPropTypes.Align
headerAlign: VxeColumnPropTypes.HeaderAlign
footerAlign: VxeColumnPropTypes.FooterAlign
showOverflow: VxeColumnPropTypes.ShowOverflow
showHeaderOverflow: VxeColumnPropTypes.ShowHeaderOverflow
showFooterOverflow: VxeColumnPropTypes.ShowFooterOverflow
className: VxeColumnPropTypes.ClassName
headerClassName: VxeColumnPropTypes.HeaderClassName
footerClassName: VxeColumnPropTypes.FooterClassName
formatter: VxeColumnPropTypes.Formatter
sortable: VxeColumnPropTypes.Sortable
sortBy: VxeColumnPropTypes.SortBy
sortType: VxeColumnPropTypes.SortType
filters: VxeColumnPropTypes.Filter[]
filterMultiple: VxeColumnPropTypes.FilterMultiple
filterMethod: VxeColumnPropTypes.FilterMethod
filterRender: VxeColumnPropTypes.FilterRender
treeNode: VxeColumnPropTypes.TreeNode
visible: VxeColumnPropTypes.Visible
exportMethod: VxeColumnPropTypes.ExportMethod
footerExportMethod: VxeColumnPropTypes.FooterExportMethod
/**
* 已废弃,请使用 titlePrefix
* @deprecated
*/
titleHelp: VxeColumnPropTypes.TitleHelp
titlePrefix: VxeColumnPropTypes.TitlePrefix
cellType: VxeColumnPropTypes.CellType
cellRender: VxeColumnPropTypes.CellRender
editRender: VxeColumnPropTypes.EditRender
contentRender: VxeColumnPropTypes.ContentRender
params: VxeColumnPropTypes.Params
slots: VxeColumnPropTypes.Slots
/**
* 以下内部属性
* 内部属性随时都会调整,不应该被使用
*/
id: string
parentId: string
level: number
rowSpan: number
colSpan: number
halfVisible: boolean
defaultVisible: any
checked: boolean
halfChecked: boolean
disabled: boolean
order: VxeTablePropTypes.SortOrder
sortTime: number
renderWidth: number
renderHeight: number
resizeWidth: number
model: {
update: boolean
value: any
}
children: ColumnInfo[]
renderHeader(params: CellRenderHeaderParams): VNode[]
renderCell(params: CellRenderCellParams): VNode[]
renderData(params: CellRenderDataParams): VNode[]
renderFooter(params: CellRenderFooterParams): VNode[]
getTitle(): string
getKey(): string
}
export interface CellRenderHeaderParams {
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null
$rowIndex: number
column: ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
fixed: VxeColumnPropTypes.Fixed
type: string
isHidden: boolean
hasFilter: boolean
}
export interface CellRenderBodyParams {
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null
seq: string | number
rowid: string
row: any
rowIndex: number
$rowIndex: number
_rowIndex: number
column: ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
fixed: VxeColumnPropTypes.Fixed
type: string
isHidden: boolean
level: number
visibleData: any[]
data: any[]
items: any[]
}
export interface CellRenderDataParams extends CellRenderBodyParams { }
export interface CellRenderCellParams extends CellRenderBodyParams { }
export interface CellRenderFooterParams {
$table: VxeTableConstructor & VxeTablePrivateMethods
$grid: VxeGridConstructor | null
_rowIndex: number
$rowIndex: number
column: ColumnInfo
columnIndex: number
$columnIndex: number
_columnIndex: number
itemIndex: number
items: any[]
fixed: VxeColumnPropTypes.Fixed
type: string
data: any[][]
}
interface TableEventParams extends VxeEvent {
$table: VxeTableConstructor & VxeTablePrivateMethods
}
interface TableBaseHeaderCellParams {
$rowIndex: number
column: ColumnInfo
columnIndex: number
$columnIndex: number
}
interface TableBaseCellParams {
row: any
rowIndex: number
$rowIndex: number
column: ColumnInfo
columnIndex: number
$columnIndex: number
}
interface TableBaseFooterCellParams {
$rowIndex: number
column: ColumnInfo
columnIndex: number
$columnIndex: number
}
export interface KeydownStartParams { }
export interface KeydownStartEventParams extends TableEventParams, KeydownStartParams { }
export interface KeydownParams { }
export interface KeydownEventParams extends TableEventParams, KeydownParams { }
export interface KeydownEndParams { }
export interface KeydownEndEventParams extends TableEventParams, KeydownEndParams { }
export interface PasteParams { }
export interface PasteEventParams extends TableEventParams, PasteParams { }
export interface CopyParams { }
export interface CopyEventParams extends TableEventParams, CopyParams { }
export interface CutParams { }
export interface CutEventParams extends TableEventParams, CutParams { }
export interface CurrentChangeParams extends TableBaseCellParams {
newValue: any
oldValue: any
}
export interface CurrentChangeEventParams extends TableEventParams, CurrentChangeParams { }
export interface RadioChangeParams extends TableBaseCellParams {
newValue: any
oldValue: any
}
export interface RadioChangeEventParams extends TableEventParams, RadioChangeParams { }
export interface CheckboxChangeParams extends TableBaseCellParams {
checked: boolean
/**
* 请调用方法 getCheckboxRecords() 获取
* @deprecated
*/
records: any[]
/**
* 请调用方法 getCheckboxReserveRecords() 获取
* @deprecated
*/
reserves: any[]
/**
* 请调用方法 getCheckboxIndeterminateRecords() 获取
* @deprecated
*/
indeterminates: any[]
}
export interface CheckboxChangeEventParams extends TableEventParams, CheckboxChangeParams { }
export interface CheckboxAllParams extends CheckboxChangeParams { }
export interface CheckboxAllEventParams extends TableEventParams, CheckboxAllParams { }
export interface CheckboxRangeStartParams {
/**
* 请调用方法 getCheckboxRecords() 获取
* @deprecated
*/
records: any[]
/**
* 请调用方法 getCheckboxReserveRecords() 获取
* @deprecated
*/
reserves: any[]
}
export interface CheckboxRangeStartEventParams extends TableEventParams, CheckboxRangeStartParams { }
export interface CheckboxRangeChangeParams extends CheckboxRangeStartParams { }
export interface CheckboxRangeChangeEventParams extends TableEventParams, CheckboxRangeChangeParams { }
export interface CheckboxRangeEndParams extends CheckboxRangeStartParams { }
export interface CheckboxRangeEndEventParams extends TableEventParams, CheckboxRangeEndParams { }
export interface CellClickParams extends TableBaseCellParams {
triggerRadio: boolean
triggerCheckbox: boolean
triggerTreeNode: boolean
triggerExpandNode: boolean
}
export interface CellClickEventParams extends TableEventParams, CellClickParams { }
export interface CellDblclickParams extends CellClickParams, CellClickParams { }
export interface CellDblclickEventParams extends TableEventParams, CellDblclickParams { }
export interface CellMenuParams extends TableBaseCellParams { }
export interface CellMenuEventParams extends TableEventParams, CellMenuParams { }
export interface CellMouseenterParams extends TableBaseCellParams { }
export interface CellMouseenterEventParams extends TableEventParams, CellMouseenterParams { }
export interface CellMouseleaveParams extends TableBaseCellParams { }
export interface CellMouseleaveEventParams extends TableEventParams, CellMouseleaveParams { }
export interface HeaderCellClickParams extends TableBaseHeaderCellParams {
triggerResizable: boolean
triggerSort: boolean
triggerFilter: boolean
}
export interface HeaderCellClickEventParams extends TableEventParams, HeaderCellClickParams { }
export interface HeaderCellDblclickParams extends TableBaseHeaderCellParams { }
export interface HeaderCellDblclickEventParams extends TableEventParams, HeaderCellDblclickParams { }
export interface HeaderCellMenuParams extends TableBaseHeaderCellParams { }
export interface HeaderCellMenuEventParams extends TableEventParams, HeaderCellMenuParams { }
export interface FooterCellClickParams extends TableBaseFooterCellParams { }
export interface FooterCellClickEventParams extends TableEventParams, FooterCellClickParams { }
export interface FooterCellDblclickParams extends TableBaseFooterCellParams { }
export interface FooterCellDblclickEventParams extends TableEventParams, FooterCellDblclickParams { }
export interface FooterCellMenuParams extends TableBaseFooterCellParams { }
export interface FooterCellMenuEventParams extends TableEventParams, FooterCellMenuParams { }
export interface SortCheckedParams {
column: VxeTableDefines.ColumnInfo
field: VxeColumnPropTypes.Field
property: VxeColumnPropTypes.Field
order: VxeTablePropTypes.SortOrder
sortTime: number
}
export interface SortChangeParams extends SortCheckedParams {
sortList: SortCheckedParams[]
}
export interface SortChangeEventParams extends TableEventParams, SortChangeParams { }
export interface FilterCheckedParams {
column: VxeTableDefines.ColumnInfo
field: VxeColumnPropTypes.Field
property: VxeColumnPropTypes.Field
values: any[]
datas: any[]
}
export interface FilterChangeParams extends FilterCheckedParams {
filterList: FilterCheckedParams[]
}
export interface FilterChangeEventParams extends TableEventParams, FilterChangeParams { }
export interface FilterVisibleParams {
column: VxeTableDefines.ColumnInfo
field: VxeColumnPropTypes.Field
property: VxeColumnPropTypes.Field
filterList: FilterCheckedParams[]
visible: boolean
}
export interface FilterVisibleEventParams extends TableEventParams, FilterVisibleParams { }
export interface ResizableChangeParams extends TableBaseHeaderCellParams { }
export interface ResizableChangeEventParams extends TableEventParams, ResizableChangeParams {
resizeWidth: number
}
export interface ToggleRowExpandParams extends TableBaseCellParams { }
export interface ToggleRowExpandEventParams extends TableEventParams, ToggleRowExpandParams { }
export interface ToggleTreeExpandParams extends TableBaseCellParams { }
export interface ToggleTreeExpandEventParams extends TableEventParams, ToggleTreeExpandParams { }
export interface MenuClickParams extends TableBaseCellParams {
menu: VxeTableDefines.MenuFirstOption | VxeTableDefines.MenuChildOption
type: string
}
export interface MenuClickEventParams extends TableEventParams, MenuClickParams { }
export interface EditClosedParams extends TableBaseCellParams { }
export interface EditClosedEventParams extends TableEventParams, EditClosedParams { }
export interface EditActivedParams extends TableBaseCellParams { }
export interface EditActivedEventParams extends TableEventParams, EditActivedParams { }
export interface EditDisabledParams extends TableBaseCellParams { }
export interface EditDisabledEventParams extends TableEventParams, EditDisabledParams { }
export interface ValidErrorParams extends TableBaseCellParams {
rule: any
}
export interface ValidErrorEventParams extends TableEventParams, ValidErrorParams { }
export interface ScrollParams {
type: string
scrollTop: number
scrollLeft: number
scrollHeight: number
scrollWidth: number
bodyWidth: number
bodyHeight: number
isX: boolean
isY: boolean
}
export interface ScrollEventParams extends TableEventParams, ScrollParams {
target: HTMLDivElement
}
export interface CustomParams {
type: string
}
export interface CustomEventParams extends TableEventParams, CustomParams { }
}
export interface VxeTableEventProps {
onKeydownStart?: VxeTableEvents.KeydownStart
onKeydown?: VxeTableEvents.Keydown
onKeydownEnd?: VxeTableEvents.KeydownEnd
onPaste?: VxeTableEvents.Paste
onCopy?: VxeTableEvents.Copy
onCut?: VxeTableEvents.Cut
onCurrentChange?: VxeTableEvents.CurrentChange
onRadioChange?: VxeTableEvents.RadioChange
onCheckboxChange?: VxeTableEvents.CheckboxChange
onCheckboxAll?: VxeTableEvents.CheckboxAll
onCheckboxRangeStart?: VxeTableEvents.CheckboxRangeStart
onCheckboxRangeChange?: VxeTableEvents.CheckboxRangeChange
onCheckboxRangeEnd?: VxeTableEvents.CheckboxRangeEnd
onCellClick?: VxeTableEvents.CellClick
onCellDblclick?: VxeTableEvents.CellDblclick
onCellMenu?: VxeTableEvents.CellMenu
onCellMouseenter?: VxeTableEvents.CellMouseenter
onCellMouseleave?: VxeTableEvents.CellMouseleave
onHeaderCellClick?: VxeTableEvents.HeaderCellClick
onHeaderCellDblclick?: VxeTableEvents.HeaderCellDblclick
onHeaderCellMenu?: VxeTableEvents.HeaderCellMenu
onFooterCellClick?: VxeTableEvents.FooterCellClick
onFooterCellDblclick?: VxeTableEvents.FooterCellDblclick
onFooterCellMenu?: VxeTableEvents.FooterCellMenu
onSortChange?: VxeTableEvents.SortChange
onFilterChange?: VxeTableEvents.FilterChange
onFilterVisible?: VxeTableEvents.FilterVisible
onResizableChange?: VxeTableEvents.ResizableChange
onToggleRowExpand?: VxeTableEvents.ToggleRowExpand
onToggleTreeExpand?: VxeTableEvents.ToggleTreeExpand
onMenuClick?: VxeTableEvents.MenuClick
onEditClosed?: VxeTableEvents.EditClosed
onEditActived?: VxeTableEvents.EditActived
onEditDisabled?: VxeTableEvents.EditDisabled
onValidError?: VxeTableEvents.ValidError
onScroll?: VxeTableEvents.Scroll
onCustom?: VxeTableEvents.Custom
}
export interface VxeTableListeners {
keydownStart?: VxeTableEvents.KeydownStart
keydown?: VxeTableEvents.Keydown
keydownEnd?: VxeTableEvents.KeydownEnd
paste?: VxeTableEvents.Paste
copy?: VxeTableEvents.Copy
cut?: VxeTableEvents.Cut
currentChange?: VxeTableEvents.CurrentChange
radioChange?: VxeTableEvents.RadioChange
checkboxChange?: VxeTableEvents.CheckboxChange
checkboxAll?: VxeTableEvents.CheckboxAll
checkboxRangeStart?: VxeTableEvents.CheckboxRangeStart
checkboxRangeChange?: VxeTableEvents.CheckboxRangeChange
checkboxRangeEnd?: VxeTableEvents.CheckboxRangeEnd
cellClick?: VxeTableEvents.CellClick
cellDblclick?: VxeTableEvents.CellDblclick
cellMenu?: VxeTableEvents.CellMenu
cellMouseenter?: VxeTableEvents.CellMouseenter
cellMouseleave?: VxeTableEvents.CellMouseleave
headerCellClick?: VxeTableEvents.HeaderCellClick
headerCellDblclick?: VxeTableEvents.HeaderCellDblclick
headerCellMenu?: VxeTableEvents.HeaderCellMenu
footerCellClick?: VxeTableEvents.FooterCellClick
footerCellDblclick?: VxeTableEvents.FooterCellDblclick
footerCellMenu?: VxeTableEvents.FooterCellMenu
sortChange?: VxeTableEvents.SortChange
filterChange?: VxeTableEvents.FilterChange
resizableChange?: VxeTableEvents.ResizableChange
toggleRowExpand?: VxeTableEvents.ToggleRowExpand
toggleTreeExpand?: VxeTableEvents.ToggleTreeExpand
menuClick?: VxeTableEvents.MenuClick
editClosed?: VxeTableEvents.EditClosed
editActived?: VxeTableEvents.EditActived
editDisabled?: VxeTableEvents.EditDisabled
validError?: VxeTableEvents.ValidError
scroll?: VxeTableEvents.Scroll
custom?: VxeTableEvents.Custom
}
export namespace VxeTableEvents {
export type KeydownStart = (params: VxeTableDefines.KeydownStartEventParams) => void
export type Keydown = (params: VxeTableDefines.KeydownEventParams) => void
export type KeydownEnd = (params: VxeTableDefines.KeydownEndEventParams) => void
export type Paste = (params: VxeTableDefines.PasteEventParams) => void
export type Copy = (params: VxeTableDefines.CopyEventParams) => void
export type Cut = (params: VxeTableDefines.CutEventParams) => void
export type CurrentChange = (params: VxeTableDefines.CurrentChangeEventParams) => void
export type RadioChange = (params: VxeTableDefines.RadioChangeEventParams) => void
export type CheckboxChange = (params: VxeTableDefines.CheckboxChangeEventParams) => void
export type CheckboxAll = (params: VxeTableDefines.CheckboxAllEventParams) => void
export type CheckboxRangeStart = (params: VxeTableDefines.CheckboxRangeStartEventParams) => void
export type CheckboxRangeChange = (params: VxeTableDefines.CheckboxRangeChangeEventParams) => void
export type CheckboxRangeEnd = (params: VxeTableDefines.CheckboxRangeEndEventParams) => void
export type CellClick = (params: VxeTableDefines.CellClickEventParams) => void
export type CellDblclick = (params: VxeTableDefines.CellDblclickEventParams) => void
export type CellMenu = (params: VxeTableDefines.CellMenuEventParams) => void
export type CellMouseenter = (params: VxeTableDefines.CellMouseenterEventParams) => void
export type CellMouseleave = (params: VxeTableDefines.CellMouseleaveEventParams) => void
export type HeaderCellClick = (params: VxeTableDefines.HeaderCellClickEventParams) => void
export type HeaderCellDblclick = (params: VxeTableDefines.HeaderCellDblclickEventParams) => void
export type HeaderCellMenu = (params: VxeTableDefines.HeaderCellMenuEventParams) => void
export type FooterCellClick = (params: VxeTableDefines.FooterCellClickEventParams) => void
export type FooterCellDblclick = (params: VxeTableDefines.FooterCellDblclickEventParams) => void
export type FooterCellMenu = (params: VxeTableDefines.FooterCellMenuEventParams) => void
export type SortChange = (params: VxeTableDefines.SortChangeEventParams) => void
export type FilterChange = (params: VxeTableDefines.FilterChangeEventParams) => void
export type FilterVisible = (params: VxeTableDefines.FilterVisibleEventParams) => void
export type ResizableChange = (params: VxeTableDefines.ResizableChangeEventParams) => void
export type ToggleRowExpand = (params: VxeTableDefines.ToggleRowExpandEventParams) => void
export type ToggleTreeExpand = (params: VxeTableDefines.ToggleTreeExpandEventParams) => void
export type MenuClick = (params: VxeTableDefines.MenuClickEventParams) => void
export type EditClosed = (params: VxeTableDefines.EditClosedEventParams) => void
export type EditActived = (params: VxeTableDefines.EditActivedEventParams) => void
export type EditDisabled = (params: VxeTableDefines.EditDisabledEventParams) => void
export type ValidError = (params: VxeTableDefines.ValidErrorEventParams) => void
export type Scroll = (params: VxeTableDefines.ScrollEventParams) => void
export type Custom = (params: VxeTableDefines.CustomEventParams) => void
}