vxe-pc-ui 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/es/drawer/index.js +0 -1
  2. package/es/form/src/form.js +5 -2
  3. package/es/form-design/widget-select/select-form.js +2 -3
  4. package/es/icon/style/iconfont.1716394371834.ttf +0 -0
  5. package/es/icon/style/iconfont.1716394371834.woff +0 -0
  6. package/es/icon/style/iconfont.1716394371834.woff2 +0 -0
  7. package/es/icon/style.css +1 -1
  8. package/es/iconfont.1716394371834.ttf +0 -0
  9. package/es/iconfont.1716394371834.woff +0 -0
  10. package/es/iconfont.1716394371834.woff2 +0 -0
  11. package/es/modal/index.js +0 -1
  12. package/es/print/src/util.js +9 -0
  13. package/es/style.css +1 -1
  14. package/es/style.min.css +1 -1
  15. package/es/ui/index.js +9 -1
  16. package/lib/drawer/index.js +1 -2
  17. package/lib/drawer/index.min.js +1 -1
  18. package/lib/form/src/form.js +5 -2
  19. package/lib/form/src/form.min.js +1 -1
  20. package/lib/form-design/widget-select/select-form.js +1 -2
  21. package/lib/form-design/widget-select/select-form.min.js +1 -1
  22. package/lib/icon/style/iconfont.1716394371834.ttf +0 -0
  23. package/lib/icon/style/iconfont.1716394371834.woff +0 -0
  24. package/lib/icon/style/iconfont.1716394371834.woff2 +0 -0
  25. package/lib/icon/style/style.css +1 -1
  26. package/lib/icon/style/style.min.css +1309 -1
  27. package/lib/iconfont.1716394371834.ttf +0 -0
  28. package/lib/iconfont.1716394371834.woff +0 -0
  29. package/lib/iconfont.1716394371834.woff2 +0 -0
  30. package/lib/index.umd.js +33 -22
  31. package/lib/index.umd.min.js +1 -1
  32. package/lib/modal/index.js +1 -2
  33. package/lib/modal/index.min.js +1 -1
  34. package/lib/print/src/util.js +9 -0
  35. package/lib/print/src/util.min.js +1 -1
  36. package/lib/style.css +1 -1
  37. package/lib/style.min.css +1 -1
  38. package/lib/ui/index.js +9 -1
  39. package/lib/ui/index.min.js +1 -1
  40. package/package.json +7 -5
  41. package/packages/components.ts +1 -3
  42. package/packages/drawer/index.ts +0 -2
  43. package/packages/form/src/form-config-item.ts +2 -2
  44. package/packages/form/src/form-gather.ts +1 -1
  45. package/packages/form/src/form-item.ts +2 -2
  46. package/packages/form/src/form.ts +5 -2
  47. package/packages/form-design/widget-select/select-form.ts +2 -3
  48. package/packages/input/src/input.ts +2 -2
  49. package/packages/modal/index.ts +0 -2
  50. package/packages/print/src/print.ts +1 -1
  51. package/packages/print/src/util.ts +9 -0
  52. package/packages/pulldown/src/pulldown.ts +2 -2
  53. package/packages/select/src/select.ts +2 -2
  54. package/packages/ui/index.ts +9 -1
  55. package/packages/ui/src/vn.ts +1 -2
  56. package/types/components/colgroup.d.ts +137 -0
  57. package/types/components/column.d.ts +621 -0
  58. package/types/components/form-item.d.ts +7 -3
  59. package/types/components/form.d.ts +2 -2
  60. package/types/components/grid.d.ts +633 -0
  61. package/types/components/option.d.ts +2 -2
  62. package/types/components/print.d.ts +19 -3
  63. package/types/components/table-module/custom.d.ts +32 -0
  64. package/types/components/table-module/edit.d.ts +166 -0
  65. package/types/components/table-module/export.d.ts +81 -0
  66. package/types/components/table-module/filter.d.ts +79 -0
  67. package/types/components/table-module/index.d.ts +7 -0
  68. package/types/components/table-module/keyboard.d.ts +22 -0
  69. package/types/components/table-module/menu.d.ts +54 -0
  70. package/types/components/table-module/validator.d.ts +104 -0
  71. package/types/components/table-plugins/extend-cell-area.d.ts +601 -0
  72. package/types/components/table-plugins/index.d.ts +1 -0
  73. package/types/components/table.d.ts +3714 -0
  74. package/types/components/toolbar.d.ts +291 -0
  75. package/types/components/tooltip.d.ts +1 -1
  76. package/types/ui/commands.d.ts +13 -0
  77. package/types/ui/formats.d.ts +11 -0
  78. package/types/ui/global-config.d.ts +43 -0
  79. package/types/ui/global-icon.d.ts +34 -0
  80. package/types/ui/hooks.d.ts +11 -0
  81. package/types/ui/index.d.ts +6 -8
  82. package/types/ui/interceptor.d.ts +47 -0
  83. package/types/ui/menus.d.ts +14 -0
  84. package/types/ui/renderer.d.ts +224 -8
  85. package/types/ui/validators.d.ts +5 -0
@@ -0,0 +1,3714 @@
1
+ import { RenderFunction, SetupContext, Ref, ComponentPublicInstance, DefineComponent } from 'vue'
2
+ import { defineVxeComponent, VxeComponentBaseOptions, VxeComponentEventParams, VxeComponentSizeType, ValueOf, VxeGlobalConfig, VxeComponentStyleType, VxeComponentSlotType } from '@vxe-ui/core'
3
+ import { VxeColumnPropTypes, VxeColumnProps } from './column'
4
+
5
+ /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
6
+
7
+ export declare const VxeTable: defineVxeComponent<VxeTableProps, VxeTableEventProps>
8
+ export type VxeTableComponent = DefineComponent<VxeTableProps, VxeTableEmits>
9
+
10
+ export type VxeTableInstance = ComponentPublicInstance<VxeTableProps, VxeTableConstructor>
11
+
12
+ export interface VxeTableConstructor<D = any> extends VxeComponentBaseOptions, VxeTableMethods {
13
+ props: VxeTableProps
14
+ context: SetupContext<VxeTableEmits>
15
+ reactData: TableReactData
16
+ internalData: TableInternalData<D>
17
+ getRefMaps(): TablePrivateRef
18
+ getComputeMaps(): TablePrivateComputed
19
+ renderVN: RenderFunction
20
+
21
+ xegrid: VxeGridConstructor<D> | null
22
+ }
23
+
24
+ export interface TablePrivateRef {
25
+ refElem: Ref<HTMLDivElement>
26
+ refTooltip: Ref<VxeTooltipInstance>
27
+ refValidTooltip: Ref<VxeTooltipInstance>
28
+ refTableFilter: Ref<ComponentPublicInstance>
29
+ refTableCustom: Ref<ComponentPublicInstance>
30
+ refTableMenu: Ref<VxeTableMenuPanelInstance>
31
+ refTableHeader: Ref<ComponentPublicInstance>
32
+ refTableBody: Ref<ComponentPublicInstance>
33
+ refTableFooter: Ref<ComponentPublicInstance>
34
+ refTableLeftHeader: Ref<ComponentPublicInstance>
35
+ refTableLeftBody: Ref<ComponentPublicInstance>
36
+ refTableLeftFooter: Ref<ComponentPublicInstance>
37
+ refTableRightHeader: Ref<ComponentPublicInstance>
38
+ refTableRightBody: Ref<ComponentPublicInstance>
39
+ refTableRightFooter: Ref<ComponentPublicInstance>
40
+ refLeftContainer: Ref<HTMLDivElement>
41
+ refRightContainer: Ref<HTMLDivElement>
42
+ refCellResizeBar: Ref<HTMLDivElement>
43
+ }
44
+ export interface VxeTablePrivateRef extends TablePrivateRef { }
45
+
46
+ export namespace VxeTablePropTypes {
47
+ export type Size = VxeComponentSizeType
48
+ export type ID = string
49
+ export type Data<T = any> = T[]
50
+ export type Height = number | string
51
+ export type MinHeight = number | string
52
+ export type MaxHeight = number | string
53
+ export type Resizable = boolean
54
+ export type Stripe = boolean
55
+ export type Round = boolean
56
+ export type Border = boolean | 'default' | 'full' | 'outer' | 'inner' | 'none' | ''
57
+ export type Loading = boolean
58
+ export type Align = 'left' | 'center' | 'right' | '' | null
59
+ export type HeaderAlign = Align
60
+ export type FooterAlign = Align
61
+ export type ShowHeader = boolean
62
+ export type HighlightCurrentRow = boolean
63
+ export type HighlightHoverRow = boolean
64
+ export type HighlightCurrentColumn = boolean
65
+ export type HighlightHoverColumn = boolean
66
+ export type HighlightCell = boolean
67
+ export type ShowFooter = boolean
68
+ export type FooterData = Record<string, any>[]
69
+
70
+ export type FooterMethod<D = any> = (params: {
71
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
72
+ $grid: VxeGridConstructor<D> | null | undefined
73
+ columns: VxeTableDefines.ColumnInfo<D>[]
74
+ data: D[]
75
+ }) => Array<string | number | null>[] | any[]
76
+
77
+ export type RowClassName<D = any> = string | ((params: {
78
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
79
+ row: D
80
+ rowIndex: number
81
+ $rowIndex: number
82
+ _rowIndex: number
83
+ }) => void | null | string | { [key: string]: boolean })
84
+
85
+ export type CellClassName<D = any> = string | ((params: {
86
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
87
+ row: D
88
+ rowIndex: number
89
+ $rowIndex: number
90
+ _rowIndex: number
91
+ column: VxeTableDefines.ColumnInfo<D>
92
+ columnIndex: number
93
+ $columnIndex: number
94
+ _columnIndex: number
95
+ }) => void | null | string | { [key: string]: boolean })
96
+
97
+ export type HeaderRowClassName<D = any> = string | ((params: {
98
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
99
+ $rowIndex: number
100
+ fixed: VxeColumnPropTypes.Fixed
101
+ type: string
102
+ }) => void | null | string | { [key: string]: boolean })
103
+
104
+ export type HeaderCellClassName<D = any> = string | ((params: {
105
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
106
+ $rowIndex: number
107
+ column: VxeTableDefines.ColumnInfo<D>
108
+ fixed: VxeColumnPropTypes.Fixed
109
+ type: string
110
+ }) => void | null | string | { [key: string]: boolean })
111
+
112
+ export type FooterRowClassName<D = any> = string | ((params: {
113
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
114
+ row: D
115
+ $rowIndex: number
116
+ _rowIndex: number
117
+ fixed: VxeColumnPropTypes.Fixed
118
+ type: string
119
+ }) => void | null | string | { [key: string]: boolean })
120
+
121
+ export type FooterCellClassName<D = any> = string | ((params: {
122
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
123
+ row: D
124
+ $rowIndex: number
125
+ _rowIndex: number
126
+ column: VxeTableDefines.ColumnInfo<D>
127
+ columnIndex: number
128
+ $columnIndex: number
129
+ _columnIndex: number
130
+ }) => void | null | string | { [key: string]: boolean })
131
+
132
+ export type CellStyle<D = any> = VxeComponentStyleType | ((params: {
133
+ row: D
134
+ rowIndex: number
135
+ $rowIndex: number
136
+ _rowIndex: number
137
+ column: VxeTableDefines.ColumnInfo<D>
138
+ columnIndex: number
139
+ $columnIndex: number
140
+ _columnIndex: number
141
+ }) => void | null | VxeComponentStyleType)
142
+
143
+ export type HeaderCellStyle<D = any> = VxeComponentStyleType | ((params: {
144
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
145
+ $rowIndex: number
146
+ column: VxeTableDefines.ColumnInfo<D>
147
+ columnIndex: number
148
+ _columnIndex: number
149
+ }) => void | null | VxeComponentStyleType)
150
+
151
+ export type FooterCellStyle<D = any> = VxeComponentStyleType | ((params: {
152
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
153
+ row: D
154
+ $rowIndex: number
155
+ column: VxeTableDefines.ColumnInfo<D>
156
+ columnIndex: number
157
+ $columnIndex: number
158
+ _columnIndex: number
159
+ }) => void | null | VxeComponentStyleType)
160
+
161
+ export type RowStyle<D = any> = VxeComponentStyleType | ((params: {
162
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
163
+ row: D
164
+ rowIndex: number
165
+ $rowIndex: number
166
+ _rowIndex: number
167
+ }) => void | null | VxeComponentStyleType)
168
+
169
+ export type HeaderRowStyle<D = any> = VxeComponentStyleType | ((params: {
170
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
171
+ $rowIndex: number
172
+ fixed: VxeColumnPropTypes.Fixed
173
+ type: string
174
+ }) => void | null | VxeComponentStyleType)
175
+
176
+ export type FooterRowStyle<D = any> = VxeComponentStyleType | ((params: {
177
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
178
+ row: D
179
+ $rowIndex: number
180
+ _rowIndex: number
181
+ fixed: VxeColumnPropTypes.Fixed
182
+ type: string
183
+ }) => void | null | VxeComponentStyleType)
184
+
185
+ export type MergeCell<D = any> = VxeTableDefines.MergeOptions<D>
186
+ export type MergeCells<D = any> = MergeCell<D>[]
187
+ export type MergeFooterItem<D = any> = VxeTableDefines.MergeOptions<D>
188
+ export type MergeFooterItems<D = any> = MergeFooterItem<D>[]
189
+
190
+ export type SpanMethod<D = any> = (params: {
191
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
192
+ column: VxeTableDefines.ColumnInfo<D>
193
+ columnIndex: number
194
+ $columnIndex: number
195
+ row: D
196
+ rowIndex: number
197
+ $rowIndex: number
198
+ _rowIndex: number
199
+ isHidden: boolean
200
+ fixed: VxeColumnPropTypes.Fixed
201
+ type: string
202
+ visibleData: D[]
203
+ }) => void | { rowspan: number, colspan: number }
204
+
205
+ export type FooterSpanMethod<D = any> = (params: {
206
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
207
+ column: VxeTableDefines.ColumnInfo<D>
208
+ columnIndex: number
209
+ _columnIndex: number
210
+ $columnIndex: number
211
+ row: D
212
+ $rowIndex: number
213
+ _rowIndex: number
214
+ items: any[]
215
+ data: D[][]
216
+ }) => void | { rowspan: number, colspan: number }
217
+
218
+ export type ShowOverflow = boolean | 'ellipsis' | 'title' | 'tooltip' | '' | null
219
+ export type ShowHeaderOverflow = ShowOverflow
220
+ export type ShowFooterOverflow = ShowOverflow
221
+ export type ColumnKey = boolean
222
+ export type RowKey = boolean
223
+ export type RowId = string
224
+ export type KeepSource = boolean
225
+ export type AutoResize = boolean
226
+ export type SyncResize = boolean | string | number
227
+
228
+ /**
229
+ * 响应式布局配置项
230
+ */
231
+ export interface ResizeConfig {
232
+ refreshDelay?: number
233
+ }
234
+ export interface ResizeOpts extends ResizeConfig { }
235
+
236
+ /**
237
+ * 列配置信息
238
+ */
239
+ export interface ColumnConfig {
240
+ /**
241
+ * 是否需要为每一列的 VNode 设置 key 属性
242
+ */
243
+ useKey?: boolean
244
+ /**
245
+ * 当鼠标点击列头时,是否要高亮当前列
246
+ */
247
+ isCurrent?: boolean
248
+ /**
249
+ * 当鼠标移到列头时,是否要高亮当前头
250
+ */
251
+ isHover?: boolean
252
+ /**
253
+ * 每一列是否启用列宽调整
254
+ */
255
+ resizable?: VxeColumnPropTypes.Resizable
256
+ /**
257
+ * 每一列的宽度
258
+ */
259
+ width?: VxeColumnPropTypes.Width
260
+ /**
261
+ * 每一列的最小宽度
262
+ */
263
+ minWidth?: VxeColumnPropTypes.MinWidth
264
+ /**
265
+ * 每一列的最大宽度
266
+ */
267
+ maxWidth?: VxeColumnPropTypes.MaxWidth
268
+ /**
269
+ * 固定列允许设置的最大数量(如果是分组,则一个分组算一个)
270
+ */
271
+ maxFixedSize?: number
272
+ /**
273
+ * 每一列的自定义表头单元格数据导出方法,返回自定义的标题
274
+ */
275
+ headerExportMethod?: VxeColumnPropTypes.HeaderExportMethod<any>
276
+ /**
277
+ * 每一列的自定义单元格数据导出方法,返回自定义的值
278
+ */
279
+ exportMethod?: VxeColumnPropTypes.ExportMethod<any>
280
+ /**
281
+ * 每一列的自定义表尾单元格数据导出方法,返回自定义的值
282
+ */
283
+ footerExportMethod?: VxeColumnPropTypes.FooterExportMethod<any>
284
+ }
285
+ export interface ColumnOpts extends ColumnConfig { }
286
+
287
+ /**
288
+ * 行配置信息
289
+ */
290
+ export interface RowConfig {
291
+ /**
292
+ * 是否需要为每一行的 VNode 设置 key 属性
293
+ */
294
+ useKey?: boolean
295
+ /**
296
+ * 自定义行数据唯一主键的字段名(默认自动生成)
297
+ */
298
+ keyField?: string
299
+ /**
300
+ * 当鼠标点击行时,是否要高亮当前行
301
+ */
302
+ isCurrent?: boolean
303
+ /**
304
+ * 当鼠标移到行时,是否要高亮当前行
305
+ */
306
+ isHover?: boolean
307
+ /**
308
+ * 每一行开启调整行高度
309
+ */
310
+ resizable?: boolean
311
+ /**
312
+ * 只对 show-overflow 有效,每一行的高度
313
+ */
314
+ height?: number
315
+ }
316
+ export interface RowOpts extends RowConfig { }
317
+
318
+ /**
319
+ * 自定义列配置项
320
+ */
321
+ export interface CustomConfig<D = any> {
322
+ /**
323
+ * 是否启用 localStorage 本地保存,会将列操作状态保留在本地(需要有 id)
324
+ */
325
+ storage?: boolean | VxeTableCustomStorageObj
326
+ mode?: 'simple' | 'popup' | '' | null
327
+ trigger?: string,
328
+ immediate?: boolean
329
+ /**
330
+ * 自定义列是否允许列选中的方法,该方法的返回值用来决定这一列的 checkbox 是否可以选中
331
+ */
332
+ checkMethod?(params: { column: VxeTableDefines.ColumnInfo }): boolean
333
+ /**
334
+ * 自定义列是否的方法,该方法的返回值用来决定这一列是否显示
335
+ */
336
+ visibleMethod?(params: { column: VxeTableDefines.ColumnInfo }): boolean
337
+ allowFixed?: boolean
338
+ showFooter?: boolean
339
+ icon?: string
340
+ resetButtonText?: string
341
+ confirmButtonText?: string
342
+ }
343
+ export interface CustomOpts<D = any> extends CustomConfig<D> { }
344
+
345
+ /**
346
+ * 列调整配置项
347
+ */
348
+ export interface ResizableConfig<D = any> {
349
+ /**
350
+ * 列宽拖动的最小宽度
351
+ */
352
+ minWidth?: number | string | ((params: {
353
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
354
+ column: VxeTableDefines.ColumnInfo<D>
355
+ columnIndex: number
356
+ $columnIndex: number
357
+ $rowIndex: number
358
+ cell: HTMLElement
359
+ }) => number | string)
360
+ /**
361
+ * 列宽拖动的最大宽度
362
+ */
363
+ maxWidth?: number | string | ((params: {
364
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
365
+ column: VxeTableDefines.ColumnInfo<D>
366
+ columnIndex: number
367
+ $columnIndex: number
368
+ $rowIndex: number
369
+ cell: HTMLElement
370
+ }) => number | string)
371
+ }
372
+ export interface ResizableOpts<D = any> extends ResizableConfig<D> { }
373
+
374
+ /**
375
+ * 序号配置项
376
+ */
377
+ export interface SeqConfig<D = any> {
378
+ startIndex?: number
379
+ seqMethod?(params: {
380
+ column: VxeTableDefines.ColumnInfo<D>
381
+ columnIndex: number
382
+ $columnIndex: number
383
+ row: D
384
+ rowIndex: number
385
+ $rowIndex: number
386
+ }): number | string
387
+ }
388
+ export interface SeqOpts<D = any> extends SeqConfig<D> { }
389
+
390
+ interface SortConfigDefaultSort {
391
+ field: string
392
+ order: SortOrder
393
+ }
394
+
395
+ /**
396
+ * 排序配置项
397
+ */
398
+ export interface SortConfig<D = any> {
399
+ defaultSort?: SortConfigDefaultSort | SortConfigDefaultSort[]
400
+ orders?: SortOrder[]
401
+ sortMethod?(params: {
402
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
403
+ data: D[]
404
+ sortList: VxeTableDefines.SortCheckedParams[]
405
+ }): any[]
406
+ remote?: boolean
407
+ multiple?: boolean
408
+ chronological?: boolean
409
+ trigger?: 'default' | 'cell'
410
+ showIcon?: boolean
411
+ iconLayout?: 'horizontal' | 'vertical'
412
+ iconAsc?: string
413
+ iconDesc?: string
414
+ }
415
+ export type SortOrder = 'asc' | 'desc' | '' | null
416
+ export interface SortOpts<D = any> extends SortConfig<D> {
417
+ orders: SortOrder[]
418
+ }
419
+
420
+ /**
421
+ * 筛选配置项
422
+ */
423
+ export interface FilterConfig<D = any> {
424
+ filterMethod?:(params: {
425
+ options: VxeTableDefines.FilterOption[]
426
+ values: any[]
427
+ cellValue: any
428
+ row: D
429
+ column: VxeTableDefines.ColumnInfo<D>
430
+ }) => any
431
+ remote?: boolean
432
+ showIcon?: boolean
433
+ iconNone?: string
434
+ iconMatch?: string
435
+ confirmButtonText?: string
436
+ resetButtonText?: string
437
+ }
438
+ export interface FilterOpts<D = any> extends FilterConfig<D> { }
439
+
440
+ /**
441
+ * 单选框配置
442
+ */
443
+ export interface RadioConfig<D = any> {
444
+ reserve?: boolean
445
+ labelField?: string
446
+ checkRowKey?: string | number
447
+ checkMethod?(params: {
448
+ row: D
449
+ }): boolean
450
+ visibleMethod?(params: {
451
+ row: D
452
+ }): boolean
453
+ trigger?: 'default' | 'cell' | 'row' | '' | null
454
+ highlight?: boolean
455
+ strict?: boolean
456
+ }
457
+ export interface RadioOpts<D = any> extends RadioConfig<D> { }
458
+
459
+ /**
460
+ * 复选框配置项
461
+ */
462
+ export interface CheckboxConfig<D = any> {
463
+ reserve?: boolean
464
+ labelField?: string
465
+ checkField?: string
466
+ indeterminateField?: string
467
+ showHeader?: boolean
468
+ checkAll?: boolean
469
+ checkRowKeys?: string[] | number[]
470
+ checkStrictly?: boolean
471
+ strict?: boolean
472
+ isShiftKey?: boolean
473
+ checkMethod?(params: {
474
+ row: D
475
+ }): boolean
476
+ visibleMethod?(params: {
477
+ row: D
478
+ }): boolean
479
+ trigger?: 'default' | 'cell' | 'row' | '' | null
480
+ highlight?: boolean
481
+ range?: boolean
482
+
483
+ /**
484
+ * 请使用 indeterminateField
485
+ * @deprecated
486
+ */
487
+ halfField?: string
488
+ }
489
+ export interface CheckboxOpts<D = any> extends CheckboxConfig<D> { }
490
+
491
+ /**
492
+ * 提示信息配置项
493
+ */
494
+ export interface TooltipConfig<D = any> {
495
+ showAll?: boolean
496
+ theme?: 'dark' | 'light' | '' | null
497
+ enterable?: boolean
498
+ enterDelay?: number
499
+ leaveDelay?: number
500
+ contentMethod?(params: {
501
+ items: any[]
502
+ row: D
503
+ rowIndex: number
504
+ $rowIndex: number
505
+ _rowIndex: number
506
+ column: VxeTableDefines.ColumnInfo<D>
507
+ columnIndex: number
508
+ $columnIndex: number
509
+ _columnIndex: number
510
+ type: 'header' | 'body' | 'footer' | '' | null
511
+ cell: HTMLElement
512
+ $event: any
513
+ }): string | null | void
514
+ }
515
+ export interface TooltipOpts<D = any> extends TooltipConfig<D> { }
516
+
517
+ /**
518
+ * 展开行配置项
519
+ */
520
+ export interface ExpandConfig<D = any> {
521
+ labelField?: string
522
+ expandAll?: boolean
523
+ expandRowKeys?: string[] | number[]
524
+ accordion?: boolean
525
+ trigger?: 'default' | 'cell' | 'row' | '' | null
526
+ lazy?: boolean
527
+ reserve?: boolean
528
+ height?: number
529
+ loadMethod?(params: {
530
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
531
+ row: D
532
+ rowIndex: number
533
+ $rowIndex: number
534
+ }): Promise<void>
535
+ toggleMethod?(params: {
536
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
537
+ expanded: boolean
538
+ row: D
539
+ rowIndex: number
540
+ $rowIndex: number
541
+ column: VxeTableDefines.ColumnInfo<D>
542
+ columnIndex: number
543
+ $columnIndex: number
544
+ }): boolean
545
+ visibleMethod?(params: VxeTableDefines.CellRenderBodyParams<D>): boolean
546
+ showIcon?: boolean
547
+ iconOpen?: string
548
+ iconClose?: string
549
+ iconLoaded?: string
550
+ }
551
+ export interface ExpandOpts<D = any> extends ExpandConfig<D> { }
552
+
553
+ /**
554
+ * 树形结构配置项
555
+ */
556
+ export interface TreeConfig<D = any> {
557
+ /**
558
+ * 自动将列表转为树结构
559
+ */
560
+ transform?: boolean
561
+ /**
562
+ * 用于 tree-config.transform,树节点的字段名
563
+ */
564
+ rowField?: string
565
+ /**
566
+ * 用于 tree-config.transform,树父节点的字段名
567
+ */
568
+ parentField?: string
569
+ /**
570
+ * 树子节点的字段名
571
+ */
572
+ childrenField?: string
573
+ /**
574
+ * 用于 tree-config.transform,树子节点映射的字段名
575
+ */
576
+ mapChildrenField?: string
577
+ /**
578
+ * 树节点的缩进
579
+ */
580
+ indent?: number
581
+ /**
582
+ * 树节点的连接线(启用连接线会降低渲染性能)
583
+ */
584
+ showLine?: boolean
585
+ /**
586
+ * 默认展开所有子孙树节点(只会在初始化时被触发一次)
587
+ */
588
+ expandAll?: boolean
589
+ /**
590
+ * 默认展开指定树节点(只会在初始化时被触发一次,需要有 row-config.keyField)
591
+ */
592
+ expandRowKeys?: string[] | number[]
593
+ /**
594
+ * 对于同一级的节点,每次只能展开一个
595
+ */
596
+ accordion?: boolean
597
+ /**
598
+ * 触发方式(注:当多种功能重叠时,会同时触发)
599
+ */
600
+ trigger?: 'default' | 'cell' | 'row' | '' | null
601
+ /**
602
+ * 是否使用懒加载(启用后只有指定 hasChildField 字段的节点才允许被点击)
603
+ */
604
+ lazy?: boolean
605
+ /**
606
+ * 只对 lazy 启用后有效,标识是否存在子节点,从而控制是否允许被点击
607
+ */
608
+ hasChildField?: string
609
+ /**
610
+ * 是否保留展开状态,对于某些场景可能会用到,比如数据被刷新之后还保留之前展开的状态(需要有 row-config.keyField)
611
+ */
612
+ reserve?: boolean
613
+ /**
614
+ * 该方法用于异步加载子节点
615
+ */
616
+ loadMethod?(params: {
617
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
618
+ row: D
619
+ }): Promise<any[]>
620
+ /**
621
+ * 该方法在展开或关闭触发之前调用,可以通过返回值来决定是否允许继续执行
622
+ */
623
+ toggleMethod?(params: {
624
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
625
+ expanded: boolean
626
+ row: D
627
+ column: VxeTableDefines.ColumnInfo<D>
628
+ columnIndex: number
629
+ $columnIndex: number
630
+ }): boolean
631
+ /**
632
+ * 是否显示图标按钮
633
+ */
634
+ showIcon?: boolean
635
+ /**
636
+ * 自定义展开后显示的图标
637
+ */
638
+ iconOpen?: string
639
+ /**
640
+ * 自定义收起后显示的图标
641
+ */
642
+ iconClose?: string
643
+ /**
644
+ * 自定义懒加载中显示的图标
645
+ */
646
+ iconLoaded?: string
647
+
648
+ /**
649
+ * 已废弃,请使用 showLine
650
+ * @deprecated
651
+ */
652
+ line?: boolean
653
+ /**
654
+ * 已废弃,请使用 hasChildField
655
+ * @deprecated
656
+ */
657
+ hasChild?: string
658
+ /**
659
+ * 已废弃,请使用 childrenField
660
+ * @deprecated
661
+ */
662
+ children?: string
663
+ }
664
+ export type TreeOpts<D = any> = Required<TreeConfig<D>>
665
+
666
+ /**
667
+ * 快捷菜单配置项
668
+ */
669
+ export interface MenuConfig<D = any> {
670
+ /**
671
+ * 是否启用
672
+ */
673
+ enabled?: boolean
674
+ /**
675
+ * 表头的右键菜单
676
+ */
677
+ header?: VxeTableDefines.MenuOptions
678
+ /**
679
+ * 内容的右键菜单
680
+ */
681
+ body?: VxeTableDefines.MenuOptions
682
+ /**
683
+ * 表尾的右键菜单
684
+ */
685
+ footer?: VxeTableDefines.MenuOptions
686
+ /**
687
+ * 触发方式
688
+ * default(默认右键表格触发), cell(右键单元格触发)
689
+ */
690
+ trigger?: 'default' | 'cell' | '' | null
691
+ /**
692
+ * 菜单面板的 className
693
+ */
694
+ className?: string
695
+ /**
696
+ * 该函数的返回值用来决定是否允许显示右键菜单(对于需要对菜单进行权限控制时可能会用到)
697
+ */
698
+ visibleMethod?(params: {
699
+ type: string
700
+ options: VxeTableDefines.MenuFirstOption[][]
701
+ columns: VxeTableDefines.ColumnInfo<D>[]
702
+ row?: D
703
+ rowIndex?: number
704
+ column?: VxeTableDefines.ColumnInfo<D>
705
+ columnIndex?: number
706
+ }): boolean
707
+ }
708
+ export type MenuOpts<D = any> = Required<MenuConfig<D>>
709
+
710
+ /**
711
+ * 鼠标配置项
712
+ */
713
+ export interface MouseConfig {
714
+ /**
715
+ * 开启单元格选中功能(只对 edit-config.mode=cell 有效)
716
+ */
717
+ selected?: boolean
718
+ /**
719
+ * 如果功能被支持,则开启单元格区域选取功能,非连续的区域,按住 Ctrl 键,用鼠标逐一选取
720
+ */
721
+ area?: boolean
722
+ /**
723
+ * 只对 area 启用后有效,是否开启区域扩展选取功能,开启后可以通过鼠标左键按住区域内右下角扩展按钮,将区域横向或纵向扩大(支持扩大区域并复制值)
724
+ */
725
+ extension?: boolean
726
+ }
727
+ export interface MouseOpts extends MouseConfig { }
728
+
729
+ /**
730
+ * 区域配置项
731
+ */
732
+ export interface AreaConfig<D = any> {
733
+ /**
734
+ * 只对 mouse-config.area 启用后有效,启用多区域选取功能
735
+ */
736
+ multiple?: boolean
737
+ /**
738
+ * 用于指定哪些列允许被选取
739
+ */
740
+ includeFields?: string[]
741
+ /**
742
+ * 用于排除指定列允许不允许被选取
743
+ */
744
+ excludeFields?: string[]
745
+ /**
746
+ * 只对 mouse-config.area 启用后有效,点击列头是否选取当前列的所有单元格
747
+ */
748
+ selectCellByHeader?: boolean
749
+ /**
750
+ * 只对 mouse-config.extension 启用后有效,将被选取区域的值复制到扩展区域中
751
+ */
752
+ extendByCopy?: boolean
753
+ /**
754
+ * 只对 mouse-config.extension 启用后有效,扩展区域时将自动识别数字规则进行计算
755
+ */
756
+ extendByCalc?: boolean
757
+ /**
758
+ * 当点击表格之外,是否自动清除单元格的选取状态
759
+ */
760
+ autoClear?: boolean
761
+ /**
762
+ * 只对 extendByCalc 启用后有效,重写单元格扩展区域计算值的方法
763
+ * @param params
764
+ */
765
+ extendCalcMethod?(params: VxeTableProDefines.ExtendCellAreaCalcBaseParams<D>): any[][]
766
+ /**
767
+ * 只对 extendByCopy | extendByCalc 启用后有效,重写单元格扩展区域赋值的方法
768
+ * @param params
769
+ */
770
+ extendSetMethod?(params: {
771
+ cellValue: any
772
+ row: D
773
+ column: VxeTableDefines.ColumnInfo<D>
774
+ } & VxeTableProDefines.ExtendCellAreaCalcBaseParams<D>): void
775
+ /**
776
+ * 只对 extendByCopy | extendByCalc 启用后有效,自定义单元格扩展区域赋值之前的方法,可以通过返回 false 阻止扩展行为
777
+ * @param params
778
+ */
779
+ beforeExtendSetMethod?(params: VxeTableProDefines.ExtendCellAreaCalcBaseParams<D>): boolean
780
+ /**
781
+ * 只对 extendByCopy | extendByCalc 启用后有效,自定义单元格扩展区域赋值之后的方法
782
+ * @param params
783
+ */
784
+ afterExtendSetMethod?(params: {
785
+ extendValues: any[][]
786
+ } & VxeTableProDefines.ExtendCellAreaCalcBaseParams<D>): boolean
787
+ }
788
+ export interface AreaOpts<D = any> extends AreaConfig<D> { }
789
+
790
+ /**
791
+ * 按键配置项
792
+ */
793
+ export interface KeyboardConfig<D = any> {
794
+ /**
795
+ * 是否开启非编辑状态下,上下左右移动功能
796
+ */
797
+ isArrow?: boolean
798
+ /**
799
+ * 是否开启Esc键退出编辑功能
800
+ */
801
+ isEsc?: boolean
802
+ /**
803
+ * 是否开启删除键功能
804
+ */
805
+ isDel?: boolean
806
+ /**
807
+ * 是否开启回车移动上下行移动
808
+ */
809
+ isEnter?: boolean
810
+ /**
811
+ * 如果功能被支持,用于 mouse-config.area,开启同时按住方向键以活动区域为起始,向指定方向延伸单元格区域
812
+ */
813
+ isShift?: boolean
814
+ /**
815
+ * 是否开启TAB键左右移动功能
816
+ */
817
+ isTab?: boolean
818
+ /**
819
+ * 是否开启单元格选择编辑
820
+ */
821
+ isEdit?: boolean
822
+ /**
823
+ * 用于 mouse-config.area,开启合并和取消合并功能
824
+ */
825
+ isMerge?: boolean
826
+ /**
827
+ * 用于 mouse-config.area,开启复制/剪贴/粘贴功能
828
+ */
829
+ isClip?: boolean
830
+ /**
831
+ * 如果功能被支持,用于 mouse-config.area,开启查找和替换功能
832
+ */
833
+ isFNR?: boolean
834
+ /**
835
+ * 用于 mouse-config.area & column.type=checkbox|radio,开启空格键切换复选框或单选框状态功能
836
+ */
837
+ isChecked?: boolean
838
+ /**
839
+ * 用于 mouse-config.area,方向键光标锁,开启后将支持两种状态
840
+ * 非聚焦式输入状态:默认情况下,可以按方向键移动单元格。
841
+ * 聚焦式输入状态:如果需要移动光标,可以按 F2 键或者鼠标左键点击输入框,切换为聚焦输入状态,就可以用方向键左右移动光标
842
+ */
843
+ arrowCursorLock?: boolean
844
+ /**
845
+ * 用于 mouse-config.area,是否将回车键行为改成 Tab 键行为
846
+ */
847
+ enterToTab?: boolean
848
+ /**
849
+ * 只对 isDel=true 有效,用于删除键清空单元格内容方法
850
+ */
851
+ delMethod?(params: {
852
+ row: D
853
+ rowIndex: number
854
+ column: VxeTableDefines.ColumnInfo<D>
855
+ columnIndex: number
856
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
857
+ }): void
858
+ /**
859
+ * 只对 isDel=true 有效,用于重写回退键清空单元格内容并激活为编辑状态方法
860
+ */
861
+ backMethod?(params: {
862
+ row: D
863
+ rowIndex: number
864
+ column: VxeTableDefines.ColumnInfo<D>
865
+ columnIndex: number
866
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
867
+ }): void
868
+ /**
869
+ * 只对 isEdit=true 有效,用于重写编辑单元格方法
870
+ */
871
+ editMethod?(params: {
872
+ row: D
873
+ rowIndex: number
874
+ column: VxeTableDefines.ColumnInfo<D>
875
+ columnIndex: number
876
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
877
+ $grid: VxeGridConstructor<D> | null | undefined
878
+ }): boolean
879
+ }
880
+ export interface KeyboardOpts<D = any> extends KeyboardConfig<D> { }
881
+
882
+ /**
883
+ * 复制/粘贴配置项
884
+ */
885
+ export interface ClipConfig<DT = any> {
886
+ /**
887
+ * 是否启用复制功能
888
+ */
889
+ isCopy?: boolean
890
+ /**
891
+ * 是否启用剪贴功能
892
+ */
893
+ isCut?: boolean
894
+ /**
895
+ * 是否启用粘贴功能
896
+ */
897
+ isPaste?: boolean
898
+ /**
899
+ * 是否填充粘贴,如果启用了,当被选取的粘贴单元格与粘贴单元格的行与列数量不匹配时,会将内容强制粘贴所选的单元格
900
+ */
901
+ isFillPaste?: boolean
902
+ /**
903
+ * 是否启用行自增,当粘贴的行数超出表格时自动插入新行
904
+ */
905
+ isRowIncrement?: boolean
906
+ /**
907
+ * 是否启用列自增,当粘贴的列数超出表格时自动插入新列(需要注意自增的列自字段是否定义,否则将无法响应)
908
+ */
909
+ isColumnIncrement?: boolean
910
+ /**
911
+ * 用于指定哪些列允许被复制粘贴
912
+ */
913
+ includeFields?: string[]
914
+ /**
915
+ * 用于排除指定列允许不允许被复制粘贴
916
+ */
917
+ excludeFields?: string[]
918
+ /**
919
+ * 重写单元格复制取值的方法,将单元格复制到剪贴板
920
+ */
921
+ copyMethod?(params: {
922
+ isCut: boolean
923
+ row: DT
924
+ column: VxeTableDefines.ColumnInfo<DT>
925
+ cellValue: any
926
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
927
+ $grid: VxeGridConstructor<DT> | null | undefined
928
+ }): string
929
+ /**
930
+ * 自定义单元格复制取值之前的方法,可以通过返回 false 阻止复制行为
931
+ */
932
+ beforeCopyMethod?(params: {
933
+ isCut: boolean
934
+ activeArea: VxeTableProDefines.MouseActiveCellArea
935
+ targetAreas: VxeTableProDefines.CellAreaParams<DT>[]
936
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
937
+ $grid: VxeGridConstructor<DT> | null | undefined
938
+ }): boolean
939
+ /**
940
+ * 自定义单元格复制到剪贴板之后的方法
941
+ */
942
+ afterCopyMethod?(params: {
943
+ isCut: boolean
944
+ targetAreas: VxeTableProDefines.CellAreaParams<DT>[]
945
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
946
+ $grid: VxeGridConstructor<DT> | null | undefined
947
+ }): boolean
948
+ /**
949
+ * 重写单元格剪贴值清除的方法,将剪贴单元格的值清除
950
+ */
951
+ cutMethod?:(params: {
952
+ row: DT,
953
+ column: VxeTableDefines.ColumnInfo<DT>
954
+ cellValue: any
955
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
956
+ $grid: VxeGridConstructor<DT> | null | undefined
957
+ }) => void
958
+ /**
959
+ * 自定义单元格剪贴值清除之前的方法,可以通过返回 false 阻止清除行为
960
+ */
961
+ beforeCutMethod?:(params: {
962
+ activeArea: VxeTableProDefines.MouseActiveCellArea
963
+ cutAreas: VxeTableProDefines.CellAreaParams<DT>[]
964
+ currentAreas: VxeTableProDefines.CellAreaParams<DT>[]
965
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
966
+ $grid: VxeGridConstructor<DT> | null | undefined
967
+ }) => boolean
968
+ /**
969
+ * 自定义单元格剪贴值清除之后的方法
970
+ */
971
+ afterCutMethod?:(params: {
972
+ cutAreas: VxeTableProDefines.CellAreaParams<DT>[]
973
+ currentAreas: VxeTableProDefines.CellAreaParams<DT>[]
974
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
975
+ $grid: VxeGridConstructor<DT> | null | undefined
976
+ }) => void
977
+ /**
978
+ * 重写单元格粘贴赋值的方法,从剪贴板赋值到单元格
979
+ */
980
+ pasteMethod?(params: {
981
+ isCut: boolean
982
+ row: DT,
983
+ column: VxeTableDefines.ColumnInfo<DT>
984
+ cellValue: any
985
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
986
+ $grid: VxeGridConstructor<DT> | null | undefined
987
+ }): void
988
+ /**
989
+ * 自定义单元格粘贴赋值之前的方法,可以通过返回 false 阻止复制行为
990
+ */
991
+ beforePasteMethod?(params: {
992
+ isCut: boolean
993
+ activeArea: VxeTableProDefines.MouseActiveCellArea
994
+ cutAreas: VxeTableProDefines.CellAreaParams<DT>[]
995
+ currentAreas: VxeTableProDefines.CellAreaParams<DT>[]
996
+ targetAreas: VxeTableProDefines.CellAreaParams<DT>[]
997
+ cellValues: string[][]
998
+ pasteCells: string[][]
999
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1000
+ $grid: VxeGridConstructor<DT> | null | undefined
1001
+ }): boolean
1002
+ /**
1003
+ * 自定义单元格粘贴赋值之后的方法
1004
+ */
1005
+ afterPasteMethod?(params: {
1006
+ isCut: boolean
1007
+ currentAreas: VxeTableProDefines.CellAreaParams<DT>[]
1008
+ cutAreas: VxeTableProDefines.CellAreaParams<DT>[]
1009
+ targetAreas: VxeTableProDefines.CellAreaParams<DT>[]
1010
+ cellValues: any[][]
1011
+ pasteCells: string[][]
1012
+ insertRows: DT[]
1013
+ insertColumns: VxeTableDefines.ColumnInfo<DT>[]
1014
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1015
+ $grid: VxeGridConstructor<DT> | null | undefined
1016
+ }): boolean
1017
+ /**
1018
+ * 只对 isRowIncrement 有效,自定义创建自增行数据的方法
1019
+ */
1020
+ createRowsMethod?(params: {
1021
+ currentAreas: VxeTableProDefines.CellAreaParams<DT>[]
1022
+ targetAreas: VxeTableProDefines.CellAreaParams<DT>[]
1023
+ cellValues: any[][]
1024
+ pasteCells: string[][]
1025
+ insertRows: DT[]
1026
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1027
+ $grid: VxeGridConstructor<DT> | null | undefined
1028
+ }): DT[]
1029
+ /**
1030
+ * 只对 isColumnIncrement 有效,自定义创建自增列配置的方法
1031
+ */
1032
+ createColumnsMethod?(params: {
1033
+ currentAreas: VxeTableProDefines.CellAreaParams<DT>[]
1034
+ targetAreas: VxeTableProDefines.CellAreaParams<DT>[]
1035
+ cellValues: any[][]
1036
+ pasteCells: string[][]
1037
+ insertColumns: VxeTableDefines.ColumnOptions[]
1038
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1039
+ $grid: VxeGridConstructor<DT> | null | undefined
1040
+ }): VxeTableDefines.ColumnOptions<DT>[]
1041
+ }
1042
+ export interface ClipOpts<D = any> extends ClipConfig<D> { }
1043
+
1044
+ /**
1045
+ * 查找/替换配置项
1046
+ */
1047
+ export interface FNRConfig<DT = any> {
1048
+ /**
1049
+ * 是否启用查找功能
1050
+ */
1051
+ isFind?: boolean
1052
+ /**
1053
+ * 自定义单元格查找方法
1054
+ */
1055
+ findMethod?(params: {
1056
+ cellValue: any
1057
+ isWhole: boolean
1058
+ isRE: boolean
1059
+ isSensitive: boolean
1060
+ findValue: string | null
1061
+ findRE: RegExp | null
1062
+ }): boolean
1063
+ /**
1064
+ * 自定义单元格查找之前的方法,可以通过返回 false 阻止查找行为
1065
+ */
1066
+ beforeFindMethod?(params: {
1067
+ isAll: boolean
1068
+ findValue: string | null
1069
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1070
+ $grid: VxeGridConstructor<DT> | null | undefined
1071
+ }): boolean
1072
+ /**
1073
+ * 自定义单元格查找之后的方法
1074
+ */
1075
+ afterFindMethod?(params: {
1076
+ isAll: boolean
1077
+ findValue: string | null
1078
+ result: VxeTableProDefines.FindAndReplaceResult[]
1079
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1080
+ $grid: VxeGridConstructor<DT> | null | undefined
1081
+ }): void
1082
+ /**
1083
+ * 是否启用替换功能
1084
+ */
1085
+ isReplace?: boolean
1086
+ /**
1087
+ * 自定义单元格替换方法
1088
+ */
1089
+ replaceMethod?:(params: {
1090
+ row: DT
1091
+ column: VxeTableDefines.ColumnInfo<DT>
1092
+ cellValue: any
1093
+ }) => void
1094
+ /**
1095
+ * 自定义单元格替换之前的方法,可以通过返回 false 阻止替换行为
1096
+ */
1097
+ beforeReplaceMethod?:(params: {
1098
+ isAll: boolean
1099
+ findValue: string | null
1100
+ replaceValue: string
1101
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1102
+ $grid: VxeGridConstructor<DT> | null | undefined
1103
+ }) => boolean
1104
+ /**
1105
+ * 自定义单元格替换之后的方法
1106
+ */
1107
+ afterReplaceMethod?:(params: {
1108
+ isAll: boolean
1109
+ findValue: string | null
1110
+ replaceValue: string
1111
+ result: VxeTableProDefines.FindAndReplaceResult[]
1112
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1113
+ $grid: VxeGridConstructor<DT> | null | undefined
1114
+ }) => void
1115
+ }
1116
+ export interface FNROpts<D = any> extends FNRConfig<D> { }
1117
+
1118
+ /**
1119
+ * 编辑配置项
1120
+ */
1121
+ export interface EditConfig<DT = any> {
1122
+ /**
1123
+ * 触发方式
1124
+ * - manual(手动触发方式,只能用于 mode=row)
1125
+ * - click(点击触发编辑)
1126
+ * - dblclick(双击触发编辑)
1127
+ */
1128
+ trigger?: 'manual' | 'click' | 'dblclick' | '' | null
1129
+ /**
1130
+ * 是否启用
1131
+ */
1132
+ enabled?: boolean
1133
+ /**
1134
+ * 编辑模式
1135
+ * - cell(单元格编辑模式)
1136
+ * - row(行编辑模式)
1137
+ */
1138
+ mode?: 'cell' | 'row' | '' | null
1139
+ /**
1140
+ * 自定义可编辑列的状态图标
1141
+ */
1142
+ icon?: string
1143
+ /**
1144
+ * 是否显示列头编辑图标
1145
+ */
1146
+ showIcon?: boolean
1147
+ /**
1148
+ * 只对 keep-source 开启有效,是否显示单元格新增与修改状态
1149
+ */
1150
+ showStatus?: boolean
1151
+ /**
1152
+ * 只对 keep-source 开启有效,是否显示单元格修改状态
1153
+ */
1154
+ showUpdateStatus?: boolean
1155
+ /**
1156
+ * 只对 keep-source 开启有效,是否显示单元格新增状态
1157
+ */
1158
+ showInsertStatus?: boolean
1159
+ /**
1160
+ * 是否显示必填字段的红色星号
1161
+ */
1162
+ showAsterisk?: boolean
1163
+ /**
1164
+ * 当点击表格之外或者非编辑列之后,是否自动清除单元格的激活状态
1165
+ */
1166
+ autoClear?: boolean
1167
+ /**
1168
+ * 自定义编辑之前逻辑,该方法的返回值用来决定该单元格是否允许编辑
1169
+ */
1170
+ beforeEditMethod?(params: {
1171
+ row: DT
1172
+ rowIndex: number
1173
+ column: VxeTableDefines.ColumnInfo<DT>
1174
+ columnIndex: number
1175
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1176
+ $grid: VxeGridConstructor<DT> | null | undefined
1177
+ }): boolean
1178
+ /**
1179
+ * 自定义编辑之后逻辑
1180
+ */
1181
+ afterEditMethod?(params: {
1182
+ row: DT
1183
+ rowIndex: number
1184
+ column: VxeTableDefines.ColumnInfo<DT>
1185
+ columnIndex: number
1186
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1187
+ $grid: VxeGridConstructor<DT> | null | undefined
1188
+ }): void
1189
+
1190
+ /**
1191
+ * 请使用 beforeEditMethod
1192
+ * @deprecated
1193
+ */
1194
+ activeMethod?(params: {
1195
+ row: DT
1196
+ rowIndex: number
1197
+ column: VxeTableDefines.ColumnInfo<DT>
1198
+ columnIndex: number
1199
+ $table: VxeTableConstructor<DT> & VxeTablePrivateMethods<DT>
1200
+ $grid: VxeGridConstructor<DT> | null | undefined
1201
+ }): boolean
1202
+ }
1203
+ export interface EditOpts<D = any> extends EditConfig<D> { }
1204
+
1205
+ /**
1206
+ * 校验配置项
1207
+ */
1208
+ export interface ValidConfig<D = any> {
1209
+ /**
1210
+ * 是否自动定位到校验不通过的单元格
1211
+ */
1212
+ autoPos?: boolean
1213
+ /**
1214
+ * 是否显示错误显示
1215
+ */
1216
+ showMessage?: boolean
1217
+ /**
1218
+ * 校验消息提示方式
1219
+ * - single 单个提示
1220
+ * - full - 全量提示
1221
+ */
1222
+ msgMode?: 'single' | 'full' | null | ''
1223
+ /**
1224
+ * 当点击表格之外或者其他列之后,是否自动清除单元格的校验消息
1225
+ */
1226
+ autoClear?: boolean
1227
+ /**
1228
+ * 校验提示框的最大宽度
1229
+ */
1230
+ maxWidth?: number
1231
+ /**
1232
+ * 给校验提示框附加 class
1233
+ */
1234
+ className?: string | ((params: VxeColumnSlotTypes.ValidSlotParams<D>) => string)
1235
+
1236
+ /**
1237
+ * 不建议使用,已废弃
1238
+ * @deprecated
1239
+ */
1240
+ message?: 'inline' | 'default' | 'tooltip' | '' | null
1241
+ }
1242
+ export interface ValidOpts<D = any> extends ValidConfig<D> { }
1243
+
1244
+ /**
1245
+ * 校验规则配置项
1246
+ */
1247
+ export interface EditRules<D = any> {
1248
+ [field: string]: VxeTableDefines.ValidatorRule<D>[]
1249
+ }
1250
+
1251
+ export type ZIndex = number
1252
+ export type EmptyText = string
1253
+
1254
+ export interface LoadingConfig {
1255
+ /**
1256
+ * 显示图标
1257
+ */
1258
+ icon?: string
1259
+ /**
1260
+ * 显示文字
1261
+ */
1262
+ text?: string
1263
+ }
1264
+ export interface LoadingOpts extends LoadingConfig { }
1265
+
1266
+ export interface EmptyRender {
1267
+ /**
1268
+ * 渲染器名称
1269
+ */
1270
+ name?: string
1271
+ /**
1272
+ * 目标组件渲染的参数
1273
+ */
1274
+ props?: { [key: string]: any }
1275
+ /**
1276
+ * 目标组件渲染的属性
1277
+ */
1278
+ attrs?: { [key: string]: any }
1279
+ /**
1280
+ * 目标组件渲染的事件
1281
+ */
1282
+ events?: { [key: string]: (...args: any[]) => any }
1283
+ }
1284
+ export interface EmptyOpts extends EmptyRender { }
1285
+
1286
+ export type Fit = boolean
1287
+ export type Animat = boolean
1288
+ export type DelayHover = number
1289
+
1290
+ export interface ScrollX {
1291
+ /**
1292
+ * 指定大于指定列时自动启动横向虚拟滚动,如果为 0 则总是启用;如果需要关闭,可以设置 enabled 为 false
1293
+ */
1294
+ gt?: number
1295
+ /**
1296
+ * 指定每次渲染的数据偏移量,偏移量越大渲染次数就越少,但每次渲染耗时就越久(对于低性能浏览器可以设置大一点,减低渲染次数)
1297
+ */
1298
+ oSize?: number
1299
+ /**
1300
+ * 是否启用
1301
+ */
1302
+ enabled?: boolean
1303
+ /**
1304
+ * 当数据源被更改时,自动将横向滚动条滚动到左侧
1305
+ */
1306
+ scrollToLeftOnChange?: boolean
1307
+ }
1308
+ export interface SXOpts extends ScrollX {
1309
+ gt: number
1310
+ oSize: number
1311
+ }
1312
+
1313
+ export interface ScrollY {
1314
+ /**
1315
+ * 滚动模式
1316
+ */
1317
+ mode?: 'default' | 'wheel'
1318
+ /**
1319
+ * 指定大于指定行时自动启动纵向虚拟滚动,如果为 0 则总是启用;如果需要关闭,可以设置 enabled 为 false(注:启用纵向虚拟滚动之后将不能支持动态行高)
1320
+ */
1321
+ gt?: number
1322
+ /**
1323
+ * 指定每次渲染的数据偏移量,偏移量越大渲染次数就越少,但每次渲染耗时就越久(对于低性能浏览器可以设置大一点,减低渲染次数)
1324
+ */
1325
+ oSize?: number
1326
+ /**
1327
+ * 是否启用
1328
+ */
1329
+ enabled?: boolean
1330
+ /**
1331
+ * 当数据源被更改时,自动将纵向滚动条滚动到顶部
1332
+ */
1333
+ scrollToTopOnChange?: boolean
1334
+
1335
+ /**
1336
+ * 请使用 row-config.height
1337
+ * @deprecated
1338
+ */
1339
+ rHeight?: number
1340
+ /**
1341
+ * 不建议使用
1342
+ * @deprecated
1343
+ */
1344
+ adaptive?: boolean
1345
+ }
1346
+ export interface SYOpts extends ScrollY {
1347
+ gt: number
1348
+ oSize: number
1349
+ }
1350
+
1351
+ export type Params = any
1352
+
1353
+ /**
1354
+ * 导入参数
1355
+ */
1356
+ export interface ImportConfig {
1357
+ /**
1358
+ * 可选文件类型列表
1359
+ */
1360
+ types?: string[]
1361
+ /**
1362
+ * 导入数据的方式
1363
+ */
1364
+ mode?: string
1365
+ modes?: string[]
1366
+ /**
1367
+ * 是否显示内置的消息提示
1368
+ */
1369
+ message?: boolean
1370
+ /**
1371
+ * 是否服务端导出
1372
+ */
1373
+ remote?: boolean
1374
+ encoding?: string
1375
+ /**
1376
+ * 只对 remote=true 有效,用于自定义导入逻辑
1377
+ */
1378
+ importMethod?(params: {
1379
+ $table: VxeTableConstructor
1380
+ $grid: VxeGridConstructor
1381
+ file: File
1382
+ options: ImportHandleOptions
1383
+ }): Promise<any>
1384
+ beforeImportMethod?(params: {
1385
+ $table: VxeTableConstructor
1386
+ options: any
1387
+ }): void
1388
+ afterImportMethod?(params: {
1389
+ $table: VxeTableConstructor
1390
+ options: any
1391
+ status: boolean
1392
+ }): void
1393
+ }
1394
+ export interface ImportOpts extends ImportConfig {
1395
+ modes: string[]
1396
+ }
1397
+ export interface ImportHandleOptions extends ImportConfig {
1398
+ data: any[]
1399
+ columns: VxeTableDefines.ColumnInfo[]
1400
+ colgroups: VxeTableDefines.ColumnInfo[][]
1401
+ }
1402
+
1403
+ export interface ExportOrPrintColumnOption {
1404
+ colid?: number
1405
+ type?: string
1406
+ field?: string
1407
+ }
1408
+
1409
+ /**
1410
+ * 导出参数
1411
+ */
1412
+ export interface ExportConfig {
1413
+ /**
1414
+ * 文件名
1415
+ */
1416
+ filename?: string
1417
+ /**
1418
+ * 表名
1419
+ */
1420
+ sheetName?: string
1421
+ /**
1422
+ * 文件类型
1423
+ */
1424
+ type?: string
1425
+ /**
1426
+ * 可选文件类型列表
1427
+ */
1428
+ types?: string[]
1429
+ /**
1430
+ * 输出数据的方式
1431
+ */
1432
+ mode?: string
1433
+ /**
1434
+ * 输出数据的方式列表
1435
+ */
1436
+ modes?: string[]
1437
+ /**
1438
+ * 是否为源数据
1439
+ */
1440
+ original?: boolean
1441
+ /**
1442
+ * 是否显示内置的消息提示
1443
+ */
1444
+ message?: boolean
1445
+ /**
1446
+ * 是否需要表头
1447
+ */
1448
+ isHeader?: boolean
1449
+ /**
1450
+ * 是否需要表尾
1451
+ */
1452
+ isFooter?: boolean
1453
+ isMerge?: boolean
1454
+ isColgroup?: boolean
1455
+ /**
1456
+ * 是否马上下载,如果设置为 false 则通过返回结果为内容的 Promise
1457
+ */
1458
+ download?: boolean
1459
+ /**
1460
+ * 自定义数据
1461
+ */
1462
+ data?: any[]
1463
+ /**
1464
+ * 自定义列
1465
+ */
1466
+ columns?: VxeTableDefines.ColumnInfo[] | ExportOrPrintColumnOption[]
1467
+ /**
1468
+ * 列过滤方法
1469
+ */
1470
+ columnFilterMethod?(params: { column: VxeTableDefines.ColumnInfo, $columnIndex: number }): boolean
1471
+ /**
1472
+ * 数据过滤方法
1473
+ */
1474
+ dataFilterMethod?(params: { row: any, $rowIndex: number }): boolean
1475
+ /**
1476
+ * 表尾过滤方法
1477
+ */
1478
+ footerFilterMethod?(params: { items: any[], $rowIndex: number }): boolean
1479
+ /**
1480
+ * 是否服务端导出
1481
+ */
1482
+ remote?: boolean
1483
+ /**
1484
+ * 只对 remote=html,xlsx 有效,是否使用样式
1485
+ */
1486
+ useStyle?: boolean
1487
+ sheetMethod?(params: VxeTableDefines.ExtortSheetMethodParams): void
1488
+ /**
1489
+ * 只对 remote=true 有效,用于自定义导出逻辑
1490
+ */
1491
+ exportMethod?(params: {
1492
+ $table: VxeTableConstructor
1493
+ $grid?: VxeGridConstructor
1494
+ options: ExportHandleOptions
1495
+ }): Promise<any>
1496
+ beforeExportMethod?(params: {
1497
+ options: ExportHandleOptions
1498
+ }): void
1499
+ afterExportMethod?(params: {
1500
+ options: ExportHandleOptions
1501
+ }): void
1502
+ }
1503
+ export interface ExportOpts extends ExportConfig { }
1504
+ export interface ExportHandleOptions extends ExportConfig {
1505
+ data: any[]
1506
+ columns: VxeTableDefines.ColumnInfo[]
1507
+ colgroups: VxeTableDefines.ColumnInfo[][]
1508
+ }
1509
+
1510
+ /**
1511
+ * 打印参数
1512
+ */
1513
+ export interface PrintConfig {
1514
+ /**
1515
+ * 表名
1516
+ */
1517
+ sheetName?: string
1518
+ /**
1519
+ * 输出数据的方式
1520
+ */
1521
+ mode?: string
1522
+ /**
1523
+ * 输出数据的方式列表
1524
+ */
1525
+ modes?: string[]
1526
+ /**
1527
+ * 是否为源数据
1528
+ */
1529
+ original?: boolean
1530
+ /**
1531
+ * 是否需要表头
1532
+ */
1533
+ isHeader?: boolean
1534
+ /**
1535
+ * 是否需要表尾
1536
+ */
1537
+ isFooter?: boolean
1538
+ /**
1539
+ * 自定义数据
1540
+ */
1541
+ data?: any[]
1542
+ /**
1543
+ * 自定义列
1544
+ */
1545
+ columns?: VxeTableDefines.ColumnInfo[] | ExportOrPrintColumnOption[]
1546
+ /**
1547
+ * 打印样式
1548
+ */
1549
+ style?: string
1550
+ /**
1551
+ * 自定义打印内容
1552
+ */
1553
+ content?: string
1554
+ /**
1555
+ * 列过滤方法
1556
+ */
1557
+ columnFilterMethod?(params: { column: VxeTableDefines.ColumnInfo, $columnIndex: number }): boolean
1558
+ /**
1559
+ * 数据过滤方法
1560
+ */
1561
+ dataFilterMethod?(params: { row: any, $rowIndex: number }): boolean
1562
+ /**
1563
+ * 表尾过滤方法
1564
+ */
1565
+ footerFilterMethod?(params: { items: any[], $rowIndex: number }): boolean
1566
+ /**
1567
+ * 打印之前的方法,可以通过返回自定义打印的内容
1568
+ */
1569
+ beforePrintMethod?(params: {
1570
+ $table: VxeTableConstructor | null
1571
+ content: string
1572
+ options: PrintHandleOptions
1573
+ }): string
1574
+ }
1575
+ export interface PrintOpts extends PrintConfig { }
1576
+ export interface PrintHandleOptions extends PrintConfig { }
1577
+ }
1578
+
1579
+ export type VxeTableProps<D = any> = {
1580
+ size?: VxeTablePropTypes.Size
1581
+ /**
1582
+ * 唯一标识
1583
+ * 当使用某个特定功能时,需要设置才能生效
1584
+ */
1585
+ id?: VxeTablePropTypes.ID
1586
+ /**
1587
+ * 表格数据
1588
+ * 与 loadData 行为一致,更新数据是不会重置状态
1589
+ */
1590
+ data?: VxeTablePropTypes.Data<D>
1591
+ /**
1592
+ * 表格的高度;支持铺满父容器或者固定高度,如果设置 auto 为铺满父容器(如果设置为 auto,则必须确保存在父节点且不允许存在相邻元素)
1593
+ */
1594
+ height?: VxeTablePropTypes.Height
1595
+ /**
1596
+ * 表格最小高度
1597
+ */
1598
+ minHeight?: VxeTablePropTypes.MinHeight
1599
+ /**
1600
+ * max-height
1601
+ */
1602
+ maxHeight?: VxeTablePropTypes.MaxHeight
1603
+ /**
1604
+ * 是否带有斑马纹(需要注意的是,在可编辑表格场景下,临时插入的数据不会有斑马纹样式)
1605
+ */
1606
+ stripe?: VxeTablePropTypes.Stripe
1607
+ /**
1608
+ * 是否为圆角边框
1609
+ */
1610
+ round?: VxeTablePropTypes.Round
1611
+ /**
1612
+ * 是否带有边框
1613
+ */
1614
+ border?: VxeTablePropTypes.Border
1615
+ /**
1616
+ * 表格是否显示加载中
1617
+ */
1618
+ loading?: VxeTablePropTypes.Loading
1619
+ /**
1620
+ * 所有的列对齐方式
1621
+ */
1622
+ align?: VxeTablePropTypes.Align
1623
+ /**
1624
+ * 所有的表头列的对齐方式
1625
+ */
1626
+ headerAlign?: VxeTablePropTypes.HeaderAlign
1627
+ /**
1628
+ * 所有的表尾列的对齐方式
1629
+ */
1630
+ footerAlign?: VxeTablePropTypes.FooterAlign
1631
+ /**
1632
+ * 是否显示表头
1633
+ */
1634
+ showHeader?: VxeTablePropTypes.ShowHeader
1635
+ /**
1636
+ * 是否显示表尾
1637
+ */
1638
+ showFooter?: VxeTablePropTypes.ShowFooter
1639
+ /**
1640
+ * 表尾数据
1641
+ */
1642
+ footerData?: VxeTablePropTypes.FooterData
1643
+ /**
1644
+ * 表尾的数据获取方法,返回一个二维数组
1645
+ */
1646
+ footerMethod?: VxeTablePropTypes.FooterMethod<D>
1647
+ /**
1648
+ * 给行附加 className
1649
+ */
1650
+ rowClassName?: VxeTablePropTypes.RowClassName<D>
1651
+ /**
1652
+ * 给单元格附加 className
1653
+ */
1654
+ cellClassName?: VxeTablePropTypes.CellClassName<D>
1655
+ /**
1656
+ * 给表头的行附加 className
1657
+ */
1658
+ headerRowClassName?: VxeTablePropTypes.HeaderRowClassName<D>
1659
+ /**
1660
+ * 给表头的单元格附加 className
1661
+ */
1662
+ headerCellClassName?: VxeTablePropTypes.HeaderCellClassName<D>
1663
+ /**
1664
+ * 给表尾的行附加 className
1665
+ */
1666
+ footerRowClassName?: VxeTablePropTypes.FooterRowClassName<D>
1667
+ /**
1668
+ * 给表尾的单元格附加 className
1669
+ */
1670
+ footerCellClassName?: VxeTablePropTypes.FooterCellClassName<D>
1671
+ /**
1672
+ * 给单元格附加样式
1673
+ */
1674
+ cellStyle?: VxeTablePropTypes.CellStyle<D>
1675
+ /**
1676
+ * 给行附加样式,也可以是函数
1677
+ */
1678
+ rowStyle?: VxeTablePropTypes.RowStyle<D>
1679
+ /**
1680
+ * 给表头单元格附加样式
1681
+ */
1682
+ headerCellStyle?: VxeTablePropTypes.HeaderCellStyle<D>
1683
+ /**
1684
+ * 给表头行附加样式
1685
+ */
1686
+ headerRowStyle?: VxeTablePropTypes.HeaderRowStyle<D>
1687
+ /**
1688
+ * 给表尾行附加样式
1689
+ */
1690
+ footerRowStyle?: VxeTablePropTypes.FooterRowStyle<D>
1691
+ /**
1692
+ * 给表尾单元格附加样式
1693
+ */
1694
+ footerCellStyle?: VxeTablePropTypes.FooterCellStyle<D>
1695
+ /**
1696
+ * 临时合并指定的单元格 (不能用于展开行,不建议用于固定列、树形结构)
1697
+ */
1698
+ mergeCells?: VxeTablePropTypes.MergeCells<D>
1699
+ /**
1700
+ * 临时合并表尾 (不能用于展开行,不建议用于固定列、树形结构)
1701
+ */
1702
+ mergeFooterItems?: VxeTablePropTypes.MergeFooterItems<D>
1703
+ /**
1704
+ * 自定义合并函数,返回计算后的值 (不能用于虚拟滚动、展开行,不建议用于固定列、树形结构)
1705
+ */
1706
+ spanMethod?: VxeTablePropTypes.SpanMethod<D>
1707
+ /**
1708
+ * 表尾合并行或列,返回计算后的值 (不能用于虚拟滚动、展开行,不建议用于固定列、树形结构)
1709
+ */
1710
+ footerSpanMethod?: VxeTablePropTypes.FooterSpanMethod<D>
1711
+ /**
1712
+ * 设置所有内容过长时显示为省略号(如果是固定列建议设置该值,提升渲染速度)
1713
+ */
1714
+ showOverflow?: VxeTablePropTypes.ShowOverflow
1715
+ /**
1716
+ * 设置表头所有内容过长时显示为省略号
1717
+ */
1718
+ showHeaderOverflow?: VxeTablePropTypes.ShowHeaderOverflow
1719
+ /**
1720
+ * 设置表尾所有内容过长时显示为省略号
1721
+ */
1722
+ showFooterOverflow?: VxeTablePropTypes.ShowFooterOverflow
1723
+ /**
1724
+ * 保持原始值的状态,被某些功能所依赖,比如编辑状态、还原数据等
1725
+ */
1726
+ keepSource?: VxeTablePropTypes.KeepSource
1727
+ /**
1728
+ * 自动监听父元素的变化去重新计算表格(对于父元素可能存在动态变化、显示隐藏的容器中、列宽异常等场景中的可能会用到)
1729
+ */
1730
+ autoResize?: VxeTablePropTypes.AutoResize
1731
+ /**
1732
+ * 自动跟随某个属性的变化去重新计算表格,和手动调用 recalculate 方法是一样的效果(对于通过某个属性来控制显示/隐藏切换时可能会用到)
1733
+ */
1734
+ syncResize?: VxeTablePropTypes.SyncResize
1735
+ /**
1736
+ * 列配置信息
1737
+ */
1738
+ columnConfig?: VxeTablePropTypes.ColumnConfig
1739
+ /**
1740
+ * 行配置信息
1741
+ */
1742
+ rowConfig?: VxeTablePropTypes.RowConfig
1743
+ /**
1744
+ * 个性化信息配置项
1745
+ */
1746
+ customConfig?: VxeTablePropTypes.CustomConfig<D>
1747
+ /**
1748
+ * 响应式布局配置项
1749
+ */
1750
+ resizeConfig?: VxeTablePropTypes.ResizeConfig
1751
+ /**
1752
+ * 列宽拖动配置项
1753
+ */
1754
+ resizableConfig?: VxeTablePropTypes.ResizableConfig<D>
1755
+ /**
1756
+ * 序号配置项
1757
+ */
1758
+ seqConfig?: VxeTablePropTypes.SeqConfig<D>
1759
+ /**
1760
+ * 排序配置项
1761
+ */
1762
+ sortConfig?: VxeTablePropTypes.SortConfig<D>
1763
+ /**
1764
+ * 筛选配置项
1765
+ */
1766
+ filterConfig?: VxeTablePropTypes.FilterConfig<D>
1767
+ /**
1768
+ * 单选框配置项
1769
+ */
1770
+ radioConfig?: VxeTablePropTypes.RadioConfig<D>
1771
+ /**
1772
+ * 复选框配置项
1773
+ */
1774
+ checkboxConfig?: VxeTablePropTypes.CheckboxConfig<D>
1775
+ /**
1776
+ * 工具提示配置项
1777
+ */
1778
+ tooltipConfig?: VxeTablePropTypes.TooltipConfig<D>
1779
+ /**
1780
+ * 导出配置项
1781
+ */
1782
+ exportConfig?: VxeTablePropTypes.ExportConfig
1783
+ /**
1784
+ * 导入配置项
1785
+ */
1786
+ importConfig?: VxeTablePropTypes.ImportConfig
1787
+ /**
1788
+ * 打印配置项
1789
+ */
1790
+ printConfig?: VxeTablePropTypes.PrintConfig
1791
+ /**
1792
+ * 展开行配置项
1793
+ */
1794
+ expandConfig?: VxeTablePropTypes.ExpandConfig<D>
1795
+ /**
1796
+ * 树形结构配置项
1797
+ */
1798
+ treeConfig?: VxeTablePropTypes.TreeConfig<D>
1799
+ /**
1800
+ * 右键菜单配置项
1801
+ */
1802
+ menuConfig?: VxeTablePropTypes.MenuConfig<D>
1803
+ /**
1804
+ * 鼠标配置项
1805
+ */
1806
+ mouseConfig?: VxeTablePropTypes.MouseConfig
1807
+ /**
1808
+ * 区域选取配置项
1809
+ */
1810
+ areaConfig?: VxeTablePropTypes.AreaConfig<D>
1811
+ /**
1812
+ * 查找/替换配置项
1813
+ */
1814
+ fnrConfig?: VxeTablePropTypes.FNRConfig<D>
1815
+ /**
1816
+ * 按键配置项
1817
+ */
1818
+ keyboardConfig?: VxeTablePropTypes.KeyboardConfig<D>
1819
+ /**
1820
+ * 复制/粘贴配置项
1821
+ */
1822
+ clipConfig?: VxeTablePropTypes.ClipConfig<D>
1823
+ /**
1824
+ * 可编辑配置项
1825
+ */
1826
+ editConfig?: VxeTablePropTypes.EditConfig<D>
1827
+ /**
1828
+ * 校验配置项
1829
+ */
1830
+ validConfig?: VxeTablePropTypes.ValidConfig<D>
1831
+ /**
1832
+ * 校验规则配置项
1833
+ */
1834
+ editRules?: VxeTablePropTypes.EditRules<D>
1835
+ /**
1836
+ * 空数据时显示的内容
1837
+ */
1838
+ emptyText?: VxeTablePropTypes.EmptyText
1839
+ /**
1840
+ * 空内容渲染配置项,empty-render 的优先级大于 empty-text
1841
+ */
1842
+ emptyRender?: VxeTablePropTypes.EmptyRender
1843
+ /**
1844
+ * 加载中配置项
1845
+ */
1846
+ loadingConfig?: VxeTablePropTypes.LoadingConfig
1847
+ /**
1848
+ * 横向虚拟滚动配置
1849
+ */
1850
+ scrollX?: VxeTablePropTypes.ScrollX
1851
+ /**
1852
+ * 纵向虚拟滚动配置
1853
+ */
1854
+ scrollY?: VxeTablePropTypes.ScrollY
1855
+ /**
1856
+ * 自定义参数(可以用来存放一些自定义的数据)
1857
+ */
1858
+ params?: VxeTablePropTypes.Params
1859
+
1860
+ /**
1861
+ * 已废弃,不建议使用,被 column-config.resizable 替换
1862
+ * @deprecated
1863
+ */
1864
+ resizable?: VxeTablePropTypes.Resizable
1865
+ /**
1866
+ * 已废弃,不建议使用,被 row-config.isCurrent 替换
1867
+ * @deprecated
1868
+ */
1869
+ highlightCurrentRow?: VxeTablePropTypes.HighlightCurrentRow
1870
+ /**
1871
+ * 已废弃,不建议使用,被 row-config.isHover 替换
1872
+ * @deprecated
1873
+ */
1874
+ highlightHoverRow?: VxeTablePropTypes.HighlightHoverRow
1875
+ /**
1876
+ * 已废弃,不建议使用,被 column-config.isCurrent 替换
1877
+ * @deprecated
1878
+ */
1879
+ highlightCurrentColumn?: VxeTablePropTypes.HighlightCurrentColumn
1880
+ /**
1881
+ * 已废弃,不建议使用,被 column-config.isHover 替换
1882
+ * @deprecated
1883
+ */
1884
+ highlightHoverColumn?: VxeTablePropTypes.HighlightHoverColumn
1885
+ /**
1886
+ * 已废弃
1887
+ * @deprecated
1888
+ */
1889
+ highlightCell?: VxeTablePropTypes.HighlightCell
1890
+ /**
1891
+ * 已废弃,请使用 column-config.useKey
1892
+ * @deprecated
1893
+ */
1894
+ columnKey?: VxeTablePropTypes.ColumnKey
1895
+ /**
1896
+ * 已废弃,请使用 row-config.useKey
1897
+ * @deprecated
1898
+ */
1899
+ rowKey?: VxeTablePropTypes.RowKey
1900
+ /**
1901
+ * 已废弃,请使用 row-config.keyField
1902
+ * @deprecated
1903
+ */
1904
+ rowId?: VxeTablePropTypes.RowId
1905
+ /**
1906
+ * 已废弃,已废弃
1907
+ * @deprecated
1908
+ */
1909
+ fit?: VxeTablePropTypes.Fit
1910
+ /**
1911
+ * 已废弃,已废弃
1912
+ * @deprecated
1913
+ */
1914
+ animat?: VxeTablePropTypes.Animat
1915
+ /**
1916
+ * 已废弃,已废弃
1917
+ * @deprecated
1918
+ */
1919
+ delayHover?: VxeTablePropTypes.DelayHover
1920
+ }
1921
+
1922
+ export interface TablePrivateComputed {
1923
+ computeSize: ComputedRef<VxeTablePropTypes.Size>
1924
+ computeValidOpts: ComputedRef<VxeTablePropTypes.ValidOpts<D>>
1925
+ computeSXOpts: ComputedRef<VxeTablePropTypes.SXOpts>
1926
+ computeSYOpts: ComputedRef<VxeTablePropTypes.SYOpts>
1927
+ computeColumnOpts: ComputedRef<VxeTablePropTypes.ColumnOpts>
1928
+ computeRowOpts: ComputedRef<VxeTablePropTypes.RowOpts>
1929
+ computeResizeleOpts: ComputedRef<VxeTablePropTypes.ResizeOpts>
1930
+ computeResizableOpts: ComputedRef<VxeTablePropTypes.ResizableOpts<D>>
1931
+ computeSeqOpts: ComputedRef<VxeTablePropTypes.SeqOpts<D>>
1932
+ computeRadioOpts: ComputedRef<VxeTablePropTypes.RadioOpts<D>>
1933
+ computeCheckboxOpts: ComputedRef<VxeTablePropTypes.CheckboxOpts<D>>
1934
+ computeTooltipOpts: ComputedRef<VxeTablePropTypes.TooltipOpts<D>>
1935
+ computeEditOpts: ComputedRef<VxeTablePropTypes.EditOpts<D>>
1936
+ computeSortOpts: ComputedRef<VxeTablePropTypes.SortConfig<D>>
1937
+ computeFilterOpts: ComputedRef<VxeTablePropTypes.FilterOpts<D>>
1938
+ computeMouseOpts: ComputedRef<VxeTablePropTypes.MouseOpts>
1939
+ computeAreaOpts: ComputedRef<VxeTablePropTypes.AreaOpts>
1940
+ computeKeyboardOpts: ComputedRef<VxeTablePropTypes.KeyboardOpts>
1941
+ computeClipOpts: ComputedRef<VxeTablePropTypes.ClipOpts<D>>
1942
+ computeFNROpts: ComputedRef<VxeTablePropTypes.FNROpts<D>>
1943
+ computeHeaderMenu: ComputedRef<VxeTableDefines.MenuFirstOption>
1944
+ computeBodyMenu: ComputedRef<VxeTableDefines.MenuFirstOption>
1945
+ computeFooterMenu: ComputedRef<VxeTableDefines.MenuFirstOption>
1946
+ computeIsMenu: ComputedRef<boolean>
1947
+ computeMenuOpts: ComputedRef<VxeTablePropTypes.MenuOpts<D>>
1948
+ computeExportOpts: ComputedRef<VxeTablePropTypes.ExportOpts>
1949
+ computeImportOpts: ComputedRef<VxeTablePropTypes.ImportOpts>
1950
+ computePrintOpts: ComputedRef<VxeTablePropTypes.PrintOpts>
1951
+ computeExpandOpts: ComputedRef<VxeTablePropTypes.ExpandOpts<D>>
1952
+ computeTreeOpts: ComputedRef<VxeTablePropTypes.TreeOpts<D>>
1953
+ computeEmptyOpts: ComputedRef<VxeTablePropTypes.EmptyOpts>
1954
+ computeLoadingOpts: ComputedRef<VxeTablePropTypes.LoadingOpts>
1955
+ computeCustomOpts: ComputedRef<VxeTablePropTypes.CustomOpts<D>>
1956
+ computeFixedColumnSize: ComputedRef<number>
1957
+ computeIsMaxFixedColumn: ComputedRef<boolean>
1958
+ computeIsAllCheckboxDisabled: ComputedRef<boolean>
1959
+ }
1960
+ export interface VxeTablePrivateComputed extends TablePrivateComputed { }
1961
+
1962
+ export interface TableReactData<D = any> {
1963
+ // 低性能的静态列
1964
+ staticColumns: any[]
1965
+ // 渲染的列分组
1966
+ tableGroupColumn: any[]
1967
+ // 可视区渲染的列
1968
+ tableColumn: any[]
1969
+ // 渲染中的数据
1970
+ tableData: D[]
1971
+ // 是否启用了横向 X 可视渲染方式加载
1972
+ scrollXLoad: boolean
1973
+ // 是否启用了纵向 Y 可视渲染方式加载
1974
+ scrollYLoad: boolean
1975
+ // 是否存在纵向滚动条
1976
+ overflowY: boolean
1977
+ // 是否存在横向滚动条
1978
+ overflowX: boolean
1979
+ // 纵向滚动条的宽度
1980
+ scrollbarWidth: number
1981
+ // 横向滚动条的高度
1982
+ scrollbarHeight: number
1983
+ // 最后滚动时间戳
1984
+ lastScrollTime: number
1985
+ // 行高
1986
+ rowHeight: number
1987
+ // 表格父容器的高度
1988
+ parentHeight: number
1989
+ // 是否使用分组表头
1990
+ isGroup: boolean
1991
+ isAllOverflow: boolean
1992
+ // 复选框属性,是否全选
1993
+ isAllSelected: boolean
1994
+ // 复选框属性,有选中且非全选状态
1995
+ isIndeterminate: boolean
1996
+ // 复选框属性,已选中的行集合
1997
+ selectCheckboxMaps: Record<string, D>
1998
+ // 当前行
1999
+ currentRow: D | null
2000
+ // 单选框属性,选中列
2001
+ currentColumn: any
2002
+ // 单选框属性,选中行
2003
+ selectRadioRow: D | null
2004
+ // 表尾合计数据
2005
+ footerTableData: any[][]
2006
+ // 展开列信息
2007
+ expandColumn: any
2008
+ hasFixedColumn: boolean
2009
+ // 已展开的行
2010
+ rowExpandedMaps: Record<string, D | null>
2011
+ // 懒加载中的展开行
2012
+ rowExpandLazyLoadedMaps: Record<string, D | null>
2013
+ // 树节点列信息
2014
+ treeNodeColumn: any
2015
+ // 已展开树节点
2016
+ treeExpandedMaps: Record<string, D | null>
2017
+ // 懒加载中的树节点的集合
2018
+ treeExpandLazyLoadedMaps: Record<string, D | null>
2019
+ // 树节点不确定状态的集合
2020
+ treeIndeterminateMaps: Record<string, D | null>
2021
+ // 合并单元格的对象集
2022
+ mergeList: VxeTableDefines.MergeItem<D>[]
2023
+ // 合并表尾数据的对象集
2024
+ mergeFooterList: VxeTableDefines.MergeItem<D>[]
2025
+ // 刷新列标识,当列筛选被改变时,触发表格刷新数据
2026
+ upDataFlag: number
2027
+ // 刷新列标识,当列的特定属性被改变时,触发表格刷新列
2028
+ reColumnFlag: number
2029
+ // 已标记的对象集
2030
+ pendingRowMaps: Record<string, D | null>
2031
+ // 已标记的行
2032
+ pendingRowList: any[],
2033
+ // 初始化标识
2034
+ initStore: {
2035
+ filter: boolean
2036
+ import: boolean
2037
+ export: boolean
2038
+ custom: boolean
2039
+ },
2040
+ // 自定义列相关的信息
2041
+ customStore: VxeTableCustomStoreObj,
2042
+ customColumnList: VxeTableDefines.ColumnInfo<D>[]
2043
+ // 当前选中的筛选列
2044
+ filterStore: {
2045
+ isAllSelected: boolean
2046
+ isIndeterminate: boolean
2047
+ style: any
2048
+ options: any[]
2049
+ column: any
2050
+ multiple: boolean
2051
+ visible: boolean
2052
+ maxHeight: number | null
2053
+ [key: string]: any
2054
+ },
2055
+ // 存放列相关的信息
2056
+ columnStore: {
2057
+ leftList: VxeTableDefines.ColumnInfo<D>[]
2058
+ centerList: VxeTableDefines.ColumnInfo<D>[]
2059
+ rightList: VxeTableDefines.ColumnInfo<D>[]
2060
+ resizeList: VxeTableDefines.ColumnInfo<D>[]
2061
+ pxList: VxeTableDefines.ColumnInfo<D>[]
2062
+ pxMinList: VxeTableDefines.ColumnInfo<D>[]
2063
+ scaleList: VxeTableDefines.ColumnInfo<D>[]
2064
+ scaleMinList: VxeTableDefines.ColumnInfo<D>[]
2065
+ autoList: VxeTableDefines.ColumnInfo<D>[]
2066
+ },
2067
+ // 存放快捷菜单的信息
2068
+ ctxMenuStore: {
2069
+ selected: any
2070
+ visible: boolean
2071
+ showChild: boolean
2072
+ selectChild: any
2073
+ list: any[][]
2074
+ style: any
2075
+ [key: string]: any
2076
+ },
2077
+ // 存放可编辑相关信息
2078
+ editStore: {
2079
+ indexs: {
2080
+ columns: any[]
2081
+ },
2082
+ titles: {
2083
+ columns: any[]
2084
+ },
2085
+ // 选中源
2086
+ selected: {
2087
+ row: D | null
2088
+ column: any
2089
+ [key: string]: any
2090
+ },
2091
+ // 已复制源
2092
+ copyed: {
2093
+ cut: boolean
2094
+ rows: D[]
2095
+ columns: any[]
2096
+ [key: string]: any
2097
+ },
2098
+ // 激活
2099
+ actived: {
2100
+ row: D | null
2101
+ column: any
2102
+ [key: string]: any
2103
+ },
2104
+ // 当前被强制聚焦单元格,只会在鼠标点击后算聚焦
2105
+ focused: {
2106
+ row: D | null
2107
+ column: any
2108
+ [key: string]: any
2109
+ },
2110
+ insertMaps: {
2111
+ [key: string]: any
2112
+ }
2113
+ removeMaps: {
2114
+ [key: string]: any
2115
+ }
2116
+ },
2117
+ // 存放 tooltip 相关信息
2118
+ tooltipStore: {
2119
+ row: D | null
2120
+ column: any
2121
+ content: any
2122
+ visible: boolean
2123
+ }
2124
+ // 存放数据校验相关信息
2125
+ validStore: {
2126
+ visible: boolean
2127
+ },
2128
+ validErrorMaps: {
2129
+ [key: string]: {
2130
+ row: D | null
2131
+ column: any
2132
+ rule: any
2133
+ content: any
2134
+ }
2135
+ },
2136
+ // 导入相关信息
2137
+ importStore: {
2138
+ inited: boolean
2139
+ file: any
2140
+ type: any
2141
+ modeList: any[]
2142
+ typeList: any[]
2143
+ filename: any
2144
+ visible: boolean
2145
+ },
2146
+ importParams: {
2147
+ mode: any
2148
+ types: any
2149
+ message: boolean
2150
+ },
2151
+ // 导出相关信息
2152
+ exportStore: {
2153
+ inited: boolean
2154
+ name: any
2155
+ modeList: any[]
2156
+ typeList: any[]
2157
+ columns: any[]
2158
+ isPrint: boolean
2159
+ hasFooter: boolean
2160
+ hasMerge: boolean
2161
+ hasTree: boolean
2162
+ hasColgroup: boolean
2163
+ visible: boolean
2164
+ },
2165
+ exportParams: {
2166
+ filename: any
2167
+ sheetName: any
2168
+ mode: any
2169
+ type: any
2170
+ isColgroup: boolean
2171
+ isMerge: boolean
2172
+ isAllExpand: boolean
2173
+ useStyle: boolean
2174
+ original: boolean
2175
+ message: boolean
2176
+ isHeader: boolean
2177
+ isFooter: boolean
2178
+ },
2179
+ scrollVMLoading: boolean
2180
+ _isResize: boolean
2181
+ }
2182
+
2183
+ export interface TableInternalData<D = any> {
2184
+ tZindex: number
2185
+ elemStore: {
2186
+ [key: string]: Ref<HTMLElement> | null
2187
+ }
2188
+ // 存放横向 X 虚拟滚动相关的信息
2189
+ scrollXStore: {
2190
+ offsetSize: number
2191
+ visibleSize: number
2192
+ startIndex: number
2193
+ endIndex: number
2194
+ }
2195
+ // 存放纵向 Y 虚拟滚动相关信息
2196
+ scrollYStore: {
2197
+ adaptive?: boolean
2198
+ rowHeight: number
2199
+ offsetSize: number
2200
+ visibleSize: number
2201
+ startIndex: number
2202
+ endIndex: number
2203
+ }
2204
+ // 表格宽度
2205
+ tableWidth: number
2206
+ // 表格高度
2207
+ tableHeight: number
2208
+ // 表头高度
2209
+ headerHeight: number
2210
+ // 表尾高度
2211
+ footerHeight: number
2212
+ customHeight: number
2213
+ customMinHeight: number
2214
+ customMaxHeight: number
2215
+ // 当前 hover 行
2216
+ hoverRow: any
2217
+ // 最后滚动位置
2218
+ lastScrollLeft: number
2219
+ lastScrollTop: number
2220
+ // 单选框属性,已选中保留的行
2221
+ radioReserveRow: any
2222
+ // 复选框属性,已选中保留的行
2223
+ checkboxReserveRowMap: any
2224
+ // 行数据,已展开保留的行集合
2225
+ rowExpandedReserveRowMap: Record<string, D>
2226
+ // 树结构数据,已展开保留的行集合
2227
+ treeExpandedReserveRowMap: Record<string, D>
2228
+ // 树结构数据,不确定状态的集合
2229
+ treeIndeterminateRowMaps: Record<string, D>
2230
+ // 列表完整数据、条件处理后
2231
+ tableFullData: D[]
2232
+ afterFullData: D[]
2233
+ afterTreeFullData: D[]
2234
+ // 列表条件处理后数据集合
2235
+ afterFullRowMaps: Record<string, D>
2236
+ tableSynchData: D[]
2237
+ tableSourceData: D[]
2238
+ // 树的全量数据、条件处理后
2239
+ tableFullTreeData: D[]
2240
+ // 收集的列配置(带分组)
2241
+ collectColumn: VxeTableDefines.ColumnInfo<D>[],
2242
+ // 完整所有列(不带分组)
2243
+ tableFullColumn: VxeTableDefines.ColumnInfo<D>[]
2244
+ // 渲染所有列
2245
+ visibleColumn: VxeTableDefines.ColumnInfo<D>[]
2246
+ // 缓存数据集
2247
+ fullAllDataRowIdData: {
2248
+ [key: string]: {
2249
+ row: D
2250
+ rowid: string
2251
+ seq: string | number
2252
+ index: number
2253
+ $index: number
2254
+ _index: number
2255
+ items: any[]
2256
+ parent: any
2257
+ level: number
2258
+ treeLoaded?: boolean
2259
+ expandLoaded?: boolean
2260
+ formatData?: {
2261
+ [key: string]: {
2262
+ value: any
2263
+ label: any
2264
+ }
2265
+ }
2266
+ }
2267
+ }
2268
+ sourceDataRowIdData: Record<string, D>
2269
+ fullDataRowIdData: {
2270
+ [key: string]: {
2271
+ row: D
2272
+ rowid: string
2273
+ seq: string | number
2274
+ index: number
2275
+ $index: number
2276
+ _index: number
2277
+ items: any[]
2278
+ parent: any
2279
+ level: number
2280
+ }
2281
+ }
2282
+ fullColumnIdData: {
2283
+ [key: string]: {
2284
+ column: VxeTableDefines.ColumnInfo<D>
2285
+ colid: string
2286
+ index: number
2287
+ $index: number
2288
+ _index: number
2289
+ items: VxeTableDefines.ColumnInfo<D>[]
2290
+ parent: VxeTableDefines.ColumnInfo<D>
2291
+ }
2292
+ }
2293
+ fullColumnFieldData: {
2294
+ [key: string]: {
2295
+ column: VxeTableDefines.ColumnInfo<D>
2296
+ colid: string
2297
+ index: number
2298
+ items: VxeTableDefines.ColumnInfo<D>[]
2299
+ parent: VxeTableDefines.ColumnInfo<D>
2300
+ }
2301
+ }
2302
+
2303
+ // 特殊标识
2304
+ inited: boolean
2305
+ tooltipTimeout: any
2306
+ initStatus: boolean
2307
+ isActivated: boolean
2308
+
2309
+ // 内部属性
2310
+ _lastResizeTime?: any
2311
+ _keyCtx?: any
2312
+ _lastCallTime?: any
2313
+ _importResolve?: ((...args: any[]) => any) | null
2314
+ _importReject?: ((...args: any[]) => any) | null
2315
+ _currFilterParams?: any
2316
+ _currMenuParams?: any
2317
+ }
2318
+
2319
+ export interface TableMethods<D = any> {
2320
+ dispatchEvent(type: ValueOf<VxeTableEmits>, params: Record<string, any>, evnt: Event | null): void
2321
+ /**
2322
+ * 手动清除表格所有条件,还原到初始状态
2323
+ * 对于增删改查的场景中可能会用到,比如在数据保存之后清除表格缓存
2324
+ */
2325
+ clearAll(): Promise<void>
2326
+ /**
2327
+ * 该方法已废弃!!!
2328
+ * 同步 data 数据;如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
2329
+ * 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
2330
+ * @deprecated
2331
+ */
2332
+ syncData(): Promise<void>
2333
+ /**
2334
+ * 手动处理数据,用于手动排序与筛选
2335
+ * 对于手动更改了排序、筛选...等条件后需要重新处理数据时可能会用到
2336
+ */
2337
+ updateData(): Promise<void>
2338
+ /**
2339
+ * 加载数据
2340
+ * @param data 数据
2341
+ */
2342
+ loadData(data: any[]): Promise<any>
2343
+ /**
2344
+ * 加载数据并恢复到初始状态
2345
+ * @param data 数据
2346
+ */
2347
+ reloadData(data: any[]): Promise<void>
2348
+ /**
2349
+ * 局部加载行数据并恢复到初始状态
2350
+ * @param rows 行对象
2351
+ * @param record 新数据
2352
+ * @param field 指定字段名
2353
+ */
2354
+ reloadRow(rows: any | any[], record?: any, field?: string): Promise<void>
2355
+ /**
2356
+ * 用于树结构,给行数据加载子节点
2357
+ * @param row 行对象
2358
+ * @param children 子节点
2359
+ */
2360
+ loadTreeChildren(row: any, children: any[]): Promise<any[]>
2361
+ /**
2362
+ * 加载列配置
2363
+ * @param columns 列对象
2364
+ */
2365
+ loadColumn(columns: (VxeTableDefines.ColumnOptions<any> | VxeTableDefines.ColumnInfo<any>)[]): Promise<any>
2366
+ /**
2367
+ * 加载列配置并恢复到初始状态
2368
+ * @param columns 列对象
2369
+ */
2370
+ reloadColumn(columns: (VxeTableDefines.ColumnOptions<any> | VxeTableDefines.ColumnInfo<any>)[]): Promise<any>
2371
+ /**
2372
+ * 根据 tr 元素获取对应的 row 信息
2373
+ * @param tr 行节点元素
2374
+ */
2375
+ getRowNode(trElem: HTMLElement): {
2376
+ rowid: string
2377
+ item: any
2378
+ items: any[]
2379
+ index: number
2380
+ parent?: any
2381
+ } | null
2382
+ /**
2383
+ * 根据 th/td 元素获取对应的 column 信息
2384
+ * @param cell 单元格节点元素
2385
+ */
2386
+ getColumnNode(cellElem: HTMLElement): {
2387
+ colid: string
2388
+ item: VxeTableDefines.ColumnInfo<DT>
2389
+ items: VxeTableDefines.ColumnInfo<DT>[]
2390
+ index: number
2391
+ parent?: VxeTableDefines.ColumnInfo<DT>
2392
+ } | null
2393
+ /**
2394
+ * 根据 row 获取行的序号
2395
+ * @param row 行对象
2396
+ */
2397
+ getRowSeq(row: any): string | number
2398
+ /**
2399
+ * 根据 row 获取相对于 data 中的索引
2400
+ * @param row 行对象
2401
+ */
2402
+ getRowIndex(row: any): number
2403
+ /**
2404
+ * 根据 row 获取相对于当前数据中的索引
2405
+ * @param row 行对象
2406
+ */
2407
+ getVTRowIndex(row: any): number
2408
+ /**
2409
+ * 根据 row 获取渲染中的虚拟索引
2410
+ * @param row 行对象
2411
+ */
2412
+ getVMRowIndex(row: any): number
2413
+ /**
2414
+ * 根据 column 获取相对于 columns 中的索引
2415
+ * @param column 列对象
2416
+ */
2417
+ getColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
2418
+ /**
2419
+ * 根据 column 获取相对于当前表格列中的索引
2420
+ * @param column 列对象
2421
+ */
2422
+ getVTColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
2423
+ /**
2424
+ * 根据 column 获取渲染中的虚拟索引
2425
+ * @param column 列对象
2426
+ */
2427
+ getVMColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
2428
+ /**
2429
+ * 创建 data 对象
2430
+ * 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义
2431
+ * @param records 数据
2432
+ */
2433
+ createData(records: any[]): Promise<any[]>
2434
+ /**
2435
+ * 创建 Row|Rows 对象
2436
+ * 对于某些特殊场景需要对数据进行手动插入时可能会用到
2437
+ * @param records 数据
2438
+ */
2439
+ createRow(records: any | any[]): Promise<any | any[]>
2440
+ /**
2441
+ * 只对 keep-source 开启有效,还原指定行 row 或者整个表格的数据
2442
+ * @param rows 指定行
2443
+ * @param field 字段名
2444
+ */
2445
+ revertData(rows?: any | any[], field?: string): Promise<any>
2446
+ /**
2447
+ * 手动清空单元格内容,如果不传参数,则清空整个表格内容,如果传了行则清空指定行内容,如果传了指定字段,则清空该字段内容
2448
+ * @param rows 指定行
2449
+ * @param field 字段名
2450
+ */
2451
+ clearData(rows?: any | any[], field?: string): Promise<any>
2452
+ /**
2453
+ * 用于 edit-config,判断行是否为新增的临时数据
2454
+ * @param row 指定行
2455
+ */
2456
+ isInsertByRow(row: any | null): boolean
2457
+ /**
2458
+ * 删除所有新增的临时数据
2459
+ */
2460
+ removeInsertRow(): Promise<{ row: any, rows: any[] }>
2461
+ /**
2462
+ * 只对 keep-source 开启有效,判断行数据是否发生改变
2463
+ * @param row 指定行
2464
+ * @param field 指定字段
2465
+ */
2466
+ isUpdateByRow(row: any, field?: string | null): boolean
2467
+ /**
2468
+ * 获取表格的可视列,也可以指定索引获取列
2469
+ * @param columnIndex 列索引
2470
+ */
2471
+ getColumns(): VxeTableDefines.ColumnInfo<DT>[]
2472
+ getColumns(columnIndex?: number): VxeTableDefines.ColumnInfo<DT>
2473
+ /**
2474
+ * 根据列的唯一主键获取列
2475
+ * @param colid 列主键
2476
+ */
2477
+ getColumnById(colid: string | null): VxeTableDefines.ColumnInfo<DT> | null
2478
+ /**
2479
+ * 根据列的字段名获取列
2480
+ * @param field 字段名
2481
+ */
2482
+ getColumnByField(field: string | null): VxeTableDefines.ColumnInfo<DT> | null
2483
+ /**
2484
+ * 获取当前表格的列
2485
+ * 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
2486
+ */
2487
+ getTableColumn(): {
2488
+ collectColumn: VxeTableDefines.ColumnInfo<DT>[]
2489
+ fullColumn: VxeTableDefines.ColumnInfo<DT>[]
2490
+ visibleColumn: VxeTableDefines.ColumnInfo<DT>[]
2491
+ tableColumn: VxeTableDefines.ColumnInfo<DT>[]
2492
+ }
2493
+ /**
2494
+ * 获取数据,和 data 的行为一致,也可以指定索引获取数据
2495
+ */
2496
+ getData(): DT[]
2497
+ getData(rowIndex: number): DT
2498
+ /**
2499
+ * 用于 type=checkbox,获取已选中的行数据
2500
+ */
2501
+ getCheckboxRecords(isFull?: boolean): DT[]
2502
+ /**
2503
+ * 只对 tree-config 有效,获取行的父级
2504
+ */
2505
+ getParentRow(rowOrRowid: any): DT | null
2506
+ /**
2507
+ * 根据行的唯一主键获取行
2508
+ * @param rowid 行主键
2509
+ */
2510
+ getRowById(rowid: string | number | null): DT | null
2511
+ /**
2512
+ * 根据行获取行的唯一主键
2513
+ * @param row 行对象
2514
+ */
2515
+ getRowid(row: any | null): string
2516
+ /**
2517
+ * 获取当前表格的数据
2518
+ * 完整的全量表体数据、处理条件之后的全量表体数据、当前渲染中的表体数据、当前渲染中的表尾数据
2519
+ */
2520
+ getTableData(): {
2521
+ fullData: DT[]
2522
+ visibleData: DT[]
2523
+ tableData: DT[]
2524
+ footerData: DT[][]
2525
+ }
2526
+ /**
2527
+ * 设置指定列为固定列
2528
+ * @param columnOrField 列对象或字段名
2529
+ */
2530
+ setColumnFixed(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>, fixed: VxeColumnPropTypes.Fixed): Promise<void>
2531
+ /**
2532
+ * 取消指定的固定列
2533
+ * @param columnOrField 列对象或字段名
2534
+ */
2535
+ clearColumnFixed(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): Promise<void>
2536
+ /**
2537
+ * 隐藏指定列
2538
+ * @param columnOrField 列对象或字段名
2539
+ */
2540
+ hideColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): Promise<void>
2541
+ /**
2542
+ * 显示指定列
2543
+ * @param columnOrField 列对象或字段名
2544
+ */
2545
+ showColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): Promise<void>
2546
+ /**
2547
+ * 设置列宽
2548
+ * @param fieldOrColumn 列对象或字段名
2549
+ * @param width 宽度 %,px
2550
+ */
2551
+ setColumnWidth(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>, width: number | string): Promise<void>
2552
+ /**
2553
+ * 获取列宽
2554
+ * @param fieldOrColumn 列对象或字段名
2555
+ */
2556
+ getColumnWidth(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): number;
2557
+ /**
2558
+ * 手动重置列的显示隐藏、列宽拖动的状态;如果为 true 则重置所有状态
2559
+ * 如果已关联工具栏,则会同步更新
2560
+ * @param options 可选参数
2561
+ */
2562
+ resetColumn(options?: boolean | {
2563
+ visible?: boolean
2564
+ resizable?: boolean
2565
+ fixed?: boolean
2566
+ order?: boolean
2567
+ }): Promise<void>
2568
+ /**
2569
+ * 刷新列配置
2570
+ * 对于动态修改属性、显示/隐藏列等场景下可能会用到
2571
+ * 如果传 true 则会检查列顺序并排序
2572
+ */
2573
+ refreshColumn(resiveOrder?: boolean): Promise<void>
2574
+ /**
2575
+ * 刷新滚动操作,手动同步滚动相关位置
2576
+ * 对于某些特殊的操作,比如滚动条错位、固定列不同步
2577
+ */
2578
+ refreshScroll(): Promise<void>
2579
+ /**
2580
+ * 重新计算表格,如果传 true 则进行完整计算
2581
+ * 对于某些特殊场景可能会用到,比如隐藏的表格、重新计算列宽...等
2582
+ */
2583
+ recalculate(refull?: boolean): Promise<void>
2584
+ /**
2585
+ * 打开 tooltip 提示
2586
+ * @param target 目标元素
2587
+ * @param content 内容
2588
+ */
2589
+ openTooltip(target: HTMLElement, content: string | number): Promise<any>
2590
+ /**
2591
+ * 关闭 tooltip 提示
2592
+ */
2593
+ closeTooltip(): Promise<any>
2594
+ /**
2595
+ * 用于 type=checkbox,设置行为选中状态,第二个参数为选中与否
2596
+ * @param rows 指定行
2597
+ * @param checked 是否选中
2598
+ */
2599
+ setCheckboxRow(rows: any | any[], checked: boolean): Promise<any>
2600
+ /**
2601
+ * 用于 type=checkbox,判断列头复选框是否被选中
2602
+ */
2603
+ isAllCheckboxChecked(): boolean
2604
+ /**
2605
+ * 用于 type=checkbox,判断列头复选框是否被半选
2606
+ */
2607
+ isAllCheckboxIndeterminate(): boolean
2608
+ /**
2609
+ * 用于 type=checkbox,判断复选行数据是否勾选
2610
+ * @param row 指定行
2611
+ */
2612
+ isCheckedByCheckboxRow(row: any): boolean
2613
+ /**
2614
+ * 用于 type=checkbox,判断复选行数据是否半选
2615
+ * @param row 指定行
2616
+ */
2617
+ isIndeterminateByCheckboxRow(row: any): boolean
2618
+ /**
2619
+ * 用于 type=checkbox,切换某一行的选中状态
2620
+ * @param row 指定行
2621
+ */
2622
+ toggleCheckboxRow(row: any): Promise<any>
2623
+ /**
2624
+ * 用于 type=checkbox,设置所有行的选中状态
2625
+ * @param checked 是否选中
2626
+ */
2627
+ setAllCheckboxRow(checked: boolean): Promise<any>
2628
+ /**
2629
+ * 用于 radio-config.reserve,获取已保留选中的行数据
2630
+ */
2631
+ getRadioReserveRecord(isFull?: boolean): any[]
2632
+ /**
2633
+ * 用于 radio-config.reserve,手动清空用户保留选中的行数据
2634
+ */
2635
+ clearRadioReserve(): Promise<any>
2636
+ /**
2637
+ * 用于 checkbox-config.reserve,获取已保留选中的行数据
2638
+ */
2639
+ getCheckboxReserveRecords(isFull?: boolean): any[]
2640
+ /**
2641
+ * 用于 type=checkbox,获取半选状态的行数据
2642
+ */
2643
+ getCheckboxIndeterminateRecords(isFull?: boolean): any[]
2644
+ /**
2645
+ * 用于 checkbox-config.reserve,手动清空用户保留选中的行数据
2646
+ */
2647
+ clearCheckboxReserve(): Promise<any>
2648
+ /**
2649
+ * 用于 type=checkbox,切换所有行的选中状态
2650
+ */
2651
+ toggleAllCheckboxRow(): Promise<any>
2652
+ /**
2653
+ * 用于 type=checkbox,手动清空用户的选择
2654
+ */
2655
+ clearCheckboxRow(): Promise<any>
2656
+ /**
2657
+ * 用于 row-config.isCurrent,设置某一行为高亮状态
2658
+ * @param row 指定行
2659
+ */
2660
+ setCurrentRow(row: any): Promise<any>
2661
+ /**
2662
+ * 用于 type=radio,判断单选行数据是否勾选
2663
+ * @param row 指定行
2664
+ */
2665
+ isCheckedByRadioRow(row: any | null): boolean
2666
+ /**
2667
+ * 用于 type=radio,设置某一行为选中状态
2668
+ * @param row 指定行
2669
+ */
2670
+ setRadioRow(row: any): Promise<any>
2671
+ /**
2672
+ * 将指定行设置为取消/标记待删除状态
2673
+ */
2674
+ setPendingRow(rows: any | any[], status: boolean): Promise<any>
2675
+ /**
2676
+ * 切换指定行的取消/标记待删除状态
2677
+ */
2678
+ togglePendingRow(rows: any | any[]): Promise<any>
2679
+ /**
2680
+ * 获取待删除状态的数据
2681
+ */
2682
+ getPendingRecords(): DT[]
2683
+ /**
2684
+ * 判断行是否为待删除状态
2685
+ * @param row 指定行
2686
+ */
2687
+ hasPendingByRow(row: any): boolean
2688
+ /**
2689
+ * 清除所有标记状态
2690
+ */
2691
+ clearPendingRow(): Promise<any>
2692
+ /**
2693
+ * 手动清除临时合并的单元格
2694
+ */
2695
+ clearMergeCells(): Promise<any>
2696
+ /**
2697
+ * 手动清除临时合并的表尾
2698
+ */
2699
+ clearMergeFooterItems(): Promise<any>
2700
+ /**
2701
+ * 用于 row-config.isCurrent,手动清空当前高亮的状态
2702
+ */
2703
+ clearCurrentRow(): Promise<any>
2704
+ /**
2705
+ * 用于 type=radio,手动清空用户的选择
2706
+ */
2707
+ clearRadioRow(): Promise<any>
2708
+ /**
2709
+ * 获取临时合并的单元格
2710
+ */
2711
+ getMergeCells(): VxeTableDefines.MergeInfo[]
2712
+ /**
2713
+ * 获取临时合并的表尾
2714
+ */
2715
+ getMergeFooterItems(): VxeTableDefines.MergeInfo[]
2716
+ /**
2717
+ * 用于 column-config.isCurrent,获取当前列
2718
+ */
2719
+ getCurrentColumn(): VxeTableDefines.ColumnInfo<DT> | null
2720
+ /**
2721
+ * 用于 row-config.isCurrent,获取当前行的行数据
2722
+ */
2723
+ getCurrentRecord(): DT | null
2724
+ /**
2725
+ * 用于 type=radio,获取当已选中的行数据
2726
+ */
2727
+ getRadioRecord(isFull?: boolean): DT | null
2728
+ /**
2729
+ * 用于 column-config.isCurrent,设置某列行为高亮状态
2730
+ * @param columnOrField 列对象或字段名
2731
+ */
2732
+ setCurrentColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): Promise<void>
2733
+ /**
2734
+ * 用于 column-config.isCurrent,手动清空当前高亮的状态
2735
+ */
2736
+ clearCurrentColumn(): Promise<void>
2737
+ /**
2738
+ * 手动对表格进行排序
2739
+ * @param sortConfs 字段名、多列排序
2740
+ * @param order 排序方式
2741
+ */
2742
+ sort(field: string, order?: VxeTablePropTypes.SortOrder): Promise<void>
2743
+ sort(sortConfs: VxeTableDefines.SortConfs, order?: VxeTablePropTypes.SortOrder): Promise<void>
2744
+ sort(sortConfs: VxeTableDefines.SortConfs[], order?: VxeTablePropTypes.SortOrder): Promise<void>
2745
+ /**
2746
+ * 手动清空排序条件,数据会恢复成未排序的状态
2747
+ * @param columnOrField 列对象或字段名
2748
+ */
2749
+ clearSort(fieldOrColumn?: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any> | null): Promise<void>
2750
+ /**
2751
+ * 判断指定列是否为排序状态,如果为空则判断所有列
2752
+ * @param columnOrField 列对象或字段名
2753
+ */
2754
+ isSort(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): boolean
2755
+ /**
2756
+ * 获取当前排序的列信息
2757
+ */
2758
+ getSortColumns(): VxeTableDefines.SortCheckedParams[]
2759
+ /**
2760
+ * 手动关闭筛选面板
2761
+ */
2762
+ closeFilter(): Promise<any>
2763
+ /**
2764
+ * 已废弃,请使用 isActiveFilterByColumn
2765
+ * @deprecated
2766
+ */
2767
+ isFilter(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any> | null): boolean
2768
+ /**
2769
+ * 判断指定列是否为筛选状态,如果为空则判断所有列
2770
+ * @param columnOrField 列对象或字段名
2771
+ */
2772
+ isActiveFilterByColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any> | null): boolean
2773
+ /**
2774
+ * 用于 expand-config.lazy,用于懒加载展开行,判断展开行是否懒加载完成
2775
+ * @param row 指定行
2776
+ */
2777
+ isRowExpandLoaded(row: any | null): boolean
2778
+ /**
2779
+ * 用于 expand-config.lazy,手动清空懒加载展开行的状态,数据会恢复成未展开的状态,当再次展开时会重新加载
2780
+ */
2781
+ clearRowExpandLoaded(row: any): Promise<void>
2782
+ /**
2783
+ * 重新懒加载展开行,并展开内容
2784
+ * @param row 指定行
2785
+ */
2786
+ reloadRowExpand(row: any): Promise<void>
2787
+ /**
2788
+ * @deprecated 已废弃,请使用 reloadRowExpand
2789
+ */
2790
+ reloadExpandContent(row: any): Promise<void>
2791
+ /**
2792
+ * 用于 type=expand,切换展开行的状态
2793
+ * @param row 指定行
2794
+ */
2795
+ toggleRowExpand(row: any): Promise<void>
2796
+ /**
2797
+ * 用于 expand-config,设置所有行的展开与否
2798
+ * 如果是关闭所有行,可以使用 clearRowExpand 快速清除
2799
+ * @param checked 是否选中
2800
+ */
2801
+ setAllRowExpand(checked: boolean): Promise<void>
2802
+ /**
2803
+ * 用于 expand-config,设置展开行,二个参数设置这一行展开与否
2804
+ * @param rows 指定行
2805
+ * @param checked 是否选中
2806
+ */
2807
+ setRowExpand(rows: any | any[], checked: boolean): Promise<void>
2808
+ /**
2809
+ * 用于 expand-config,判断行是否为展开状态
2810
+ * @param row 指定行
2811
+ */
2812
+ isRowExpandByRow(row: any | null): boolean
2813
+ /**
2814
+ * @deprecated 已废弃,请使用 isRowExpandByRow
2815
+ */
2816
+ isExpandByRow(row: any | null): boolean
2817
+ /**
2818
+ * 用于 type=expand,手动清空展开行状态,数据会恢复成未展开的状态
2819
+ */
2820
+ clearRowExpand(): Promise<void>
2821
+ /**
2822
+ * 用于 type=expand,手动清空用户保留行的展开状态
2823
+ */
2824
+ clearRowExpandReserve(): Promise<void>
2825
+ /**
2826
+ * 用于 expand-config,用于展开行,获取已展开的行数据
2827
+ */
2828
+ getRowExpandRecords(): DT[]
2829
+ /**
2830
+ * 用于 tree-config,用于树表格,获取已展开的节点
2831
+ * 注意,即使父节点被收起,只要该节点还处于展开状态都能获取到
2832
+ */
2833
+ getTreeExpandRecords(): DT[]
2834
+ /**
2835
+ * 用于 tree-config.lazy,用于懒加载树表格,判断树节点是否懒加载完成
2836
+ */
2837
+ isTreeExpandLoaded(row: any | null): boolean
2838
+ /**
2839
+ * 用于 tree-config.lazy,手动清空懒加载树节点的状态,数据会恢复成未展开的状态,当再次展开时会重新加载
2840
+ */
2841
+ clearTreeExpandLoaded(row: any): Promise<any>
2842
+ /**
2843
+ * 重新懒加载树节点,并展开该节点
2844
+ * @param rows 指定行
2845
+ */
2846
+ reloadTreeExpand(row: any): Promise<any>
2847
+ /**
2848
+ * @deprecated 已废弃,请使用 reloadTreeExpand
2849
+ */
2850
+ reloadTreeChilds(row: any): Promise<any>
2851
+ /**
2852
+ * 用于 tree-config,切换展开树形节点的状态
2853
+ * @param row 指定行
2854
+ */
2855
+ toggleTreeExpand(row: any): Promise<any>
2856
+ /**
2857
+ * 用于 tree-config,设置所有树节点的展开与否
2858
+ * 如果是关闭所有树节点,可以使用 clearTreeExpand 快速清除
2859
+ * @param checked 是否选中
2860
+ */
2861
+ setAllTreeExpand(checked: boolean): Promise<void>
2862
+ /**
2863
+ * 用于 tree-config,设置展开树形节点,二个参数设置这一行展开与否
2864
+ * @param rows 指定行
2865
+ * @param checked 是否选中
2866
+ */
2867
+ setTreeExpand(rows: any | any[], checked: boolean): Promise<void>
2868
+ /**
2869
+ * 用于 tree-config,判断行是否为树形节点展开状态
2870
+ * @param row 指定行
2871
+ */
2872
+ isTreeExpandByRow(row: any | null): boolean
2873
+ /**
2874
+ * 用于 tree-config,手动清空树形节点的展开状态,数据会恢复成未展开的状态
2875
+ */
2876
+ clearTreeExpand(): Promise<void>
2877
+ /**
2878
+ * 用于 tree-config.reserve,手动清空用户保留树节点的展开状态
2879
+ */
2880
+ clearTreeExpandReserve(): Promise<void>
2881
+ /**
2882
+ * 获取表格的滚动状态
2883
+ */
2884
+ getScroll(): {
2885
+ virtualX: boolean
2886
+ virtualY: boolean
2887
+ scrollTop: number
2888
+ scrollLeft: number
2889
+ }
2890
+ /**
2891
+ * 如果有滚动条,则滚动到对应的位置
2892
+ * @param scrollLeft 左边距离
2893
+ * @param scrollTop 顶部距离
2894
+ */
2895
+ scrollTo(scrollLeft: number | null, scrollTop?: number | null): Promise<void>
2896
+ /**
2897
+ * 如果有滚动条,则滚动到对应的行
2898
+ * @param row 指定行
2899
+ * @param columnOrField 列对象或字段名
2900
+ */
2901
+ scrollToRow(row: any, fieldOrColumn?: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): Promise<any>
2902
+ /**
2903
+ * 如果有滚动条,则滚动到对应的列
2904
+ * @param columnOrField 列对象或字段名
2905
+ */
2906
+ scrollToColumn(fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>): Promise<any>
2907
+ /**
2908
+ * 手动清除滚动相关信息,还原到初始状态
2909
+ */
2910
+ clearScroll(): Promise<any>
2911
+ /**
2912
+ * 手动更新表尾
2913
+ */
2914
+ updateFooter(): Promise<any>
2915
+ /**
2916
+ * 更新单元格状态
2917
+ * @param params 插槽对象
2918
+ */
2919
+ updateStatus(
2920
+ params: {
2921
+ row: DT
2922
+ column: VxeTableDefines.ColumnInfo<DT>
2923
+ },
2924
+ cellValue?: any
2925
+ ): Promise<any>
2926
+ /**
2927
+ * 取消单元格的临时合并状态,如果为数组,则取消多个合并
2928
+ */
2929
+ removeMergeCells(merges: VxeTableDefines.MergeOptions<any> | VxeTableDefines.MergeOptions<any>[]): Promise<VxeTableDefines.MergeInfo[]>
2930
+ /**
2931
+ * 取消表尾的临时合并状态,如果为数组,则取消多个合并
2932
+ */
2933
+ removeMergeFooterItems(merges: VxeTableDefines.MergeOptions<any> | VxeTableDefines.MergeOptions<any>[]): Promise<VxeTableDefines.MergeInfo[]>
2934
+ /**
2935
+ * 临时合并单元格,如果为数组则合并多个
2936
+ */
2937
+ setMergeCells(merges: VxeTableDefines.MergeOptions<any> | VxeTableDefines.MergeOptions<any>[]): Promise<any>
2938
+ /**
2939
+ * 临时合并表尾,如果为数组则合并多个
2940
+ */
2941
+ setMergeFooterItems(merges: VxeTableDefines.MergeOptions<any> | VxeTableDefines.MergeOptions<any>[]): Promise<any>
2942
+ /**
2943
+ * 用于 mouse-config.area,更新已选区域的单元格样式
2944
+ */
2945
+ updateCellAreas(): Promise<void>
2946
+ /**
2947
+ * 连接工具栏
2948
+ * @param toolbar 工具栏组件实例
2949
+ */
2950
+ connect(toolbar: VxeToolbarConstructor | VxeToolbarInstance): Promise<void>
2951
+ /**
2952
+ * 使表格获取焦点
2953
+ */
2954
+ focus(): Promise<void>
2955
+ /**
2956
+ * 使表格失去焦点
2957
+ */
2958
+ blur(): Promise<void>
2959
+ }
2960
+ export interface VxeTableMethods<D = any> extends TableMethods<D> { }
2961
+
2962
+ export interface TablePrivateMethods<D = any> {
2963
+ /**
2964
+ * @deprecated
2965
+ */
2966
+ getSetupOptions(): Required<VxeGlobalConfig>
2967
+ updateAfterDataIndex(): void
2968
+ callSlot<T>(slotFunc: ((params: T) => VxeComponentSlotType | VxeComponentSlotType[]) | string | null, params: T): VxeComponentSlotType[]
2969
+ getParentElem(): Element | null
2970
+ getParentHeight(): number
2971
+ getExcludeHeight(): number
2972
+ defineField(records: any[]): any[]
2973
+ handleTableData(force?: boolean): Promise<any>
2974
+ cacheRowMap(isSource?: boolean): void
2975
+ cacheSourceMap(fullData: any[]): void
2976
+ saveCustomResizable(isReset?: boolean): void
2977
+ saveCustomSort(isReset?: boolean): void
2978
+ saveCustomVisible(): void
2979
+ saveCustomFixed(): void
2980
+ analyColumnWidth(): void
2981
+ checkSelectionStatus(): void
2982
+ handleSelectRow(params: any, value: any, isForce?: boolean): void
2983
+ handleCustom(): Promise<void>
2984
+ handleUpdateDataQueue(): void
2985
+ handleRefreshColumnQueue(): void
2986
+ preventEvent(evnt: any, type: any, args?: any, next?: any, end?: any): any
2987
+ triggerHeaderTitleEvent(evnt: MouseEvent, iconParams: VxeColumnPropTypes.TitlePrefix | VxeColumnPropTypes.TitleSuffix, params: VxeTableDefines.CellRenderHeaderParams<any>): void
2988
+ triggerHeaderTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
2989
+ triggerBodyTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
2990
+ triggerFooterTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams<any>): void
2991
+ handleTargetLeaveEvent(evnt: MouseEvent): void
2992
+ triggerHeaderCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
2993
+ triggerHeaderCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
2994
+ triggerCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
2995
+ triggerCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
2996
+ handleToggleCheckRowEvent(evnt: Event | null, params: { row: any }): void
2997
+ triggerCheckRowEvent(evnt: Event, params: { row: any }, value: boolean): void
2998
+ triggerCheckAllEvent(evnt: MouseEvent | null, value: boolean): void
2999
+ triggerRadioRowEvent(evnt: Event, params: { row: any }): void
3000
+ triggerCurrentRowEvent(evnt: Event, params: {
3001
+ $table: VxeTableConstructor<any> & VxeTablePrivateMethods<any>
3002
+ row: any
3003
+ rowIndex: number
3004
+ $rowIndex: number
3005
+ }): void
3006
+ triggerRowExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
3007
+ triggerTreeExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
3008
+ triggerSortEvent(evnt: Event, column: VxeTableDefines.ColumnInfo<any>, order: VxeTablePropTypes.SortOrder): void
3009
+ triggerScrollXEvent(evnt: Event): void
3010
+ triggerScrollYEvent(evnt: Event): void
3011
+ scrollToTreeRow(row: any): Promise<any>
3012
+ updateScrollYStatus(fullData?: any[]): boolean
3013
+ updateScrollXSpace(): void
3014
+ updateScrollYSpace(): void
3015
+ updateScrollXData(): void
3016
+ updateScrollYData(): void
3017
+ checkScrolling(): void
3018
+ updateZindex(): void
3019
+ handleCheckedCheckboxRow(rows: any, value: boolean, isForce?: boolean): Promise<any>
3020
+ triggerHoverEvent(evnt: any, params: any): void
3021
+ setHoverRow(row: any): void
3022
+ clearHoverRow(): void
3023
+ getCell(row: any, column: VxeTableDefines.ColumnInfo<any>): HTMLTableDataCellElement | null
3024
+ getCellLabel(row: any, column: VxeTableDefines.ColumnInfo<any>): any
3025
+ findRowIndexOf(list: any[], row: any): number
3026
+ eqRow(row1: any, row2: any): boolean
3027
+ }
3028
+ export interface VxeTablePrivateMethods<D = any> extends TablePrivateMethods<D> { }
3029
+
3030
+ export type VxeTableEmits = [
3031
+ 'update:data',
3032
+ 'keydown-start',
3033
+ 'keydown',
3034
+ 'keydown-end',
3035
+ 'paste',
3036
+ 'copy',
3037
+ 'cut',
3038
+ 'current-change',
3039
+ 'radio-change',
3040
+ 'checkbox-change',
3041
+ 'checkbox-all',
3042
+ 'checkbox-range-start',
3043
+ 'checkbox-range-change',
3044
+ 'checkbox-range-end',
3045
+ 'checkbox-range-select',
3046
+ 'cell-click',
3047
+ 'cell-dblclick',
3048
+ 'cell-menu',
3049
+ 'cell-mouseenter',
3050
+ 'cell-mouseleave',
3051
+ 'cell-selected',
3052
+ 'cell-delete-value',
3053
+ 'header-cell-click',
3054
+ 'header-cell-dblclick',
3055
+ 'header-cell-menu',
3056
+ 'footer-cell-click',
3057
+ 'footer-cell-dblclick',
3058
+ 'footer-cell-menu',
3059
+ 'clear-merge',
3060
+ 'sort-change',
3061
+ 'clear-sort',
3062
+ 'filter-change',
3063
+ 'filter-visible',
3064
+ 'clear-filter',
3065
+ 'resizable-change',
3066
+ 'toggle-row-expand',
3067
+ 'toggle-tree-expand',
3068
+ 'menu-click',
3069
+ 'edit-closed',
3070
+
3071
+ 'edit-actived', // 已废弃
3072
+
3073
+ 'edit-activated',
3074
+ 'edit-disabled',
3075
+ 'valid-error',
3076
+ 'scroll',
3077
+ 'custom',
3078
+
3079
+ ...VxeTableProEmits
3080
+ ]
3081
+
3082
+ export namespace VxeTableDefines {
3083
+ export interface SortConfs {
3084
+ field: string
3085
+ order?: VxeTablePropTypes.SortOrder
3086
+ }
3087
+
3088
+ export interface MergeOptions<D = any> {
3089
+ row: any | number
3090
+ col: VxeTableDefines.ColumnInfo<D> | number
3091
+ rowspan: number
3092
+ colspan: number
3093
+ }
3094
+
3095
+ export interface MergeInfo {
3096
+ row: number
3097
+ col: number
3098
+ rowspan: number
3099
+ colspan: number
3100
+ }
3101
+
3102
+ export interface MergeItem<D = any> extends MergeInfo {
3103
+ _row: any
3104
+ _col: VxeTableDefines.ColumnInfo<D>
3105
+ _rowspan: number
3106
+ _colspan: number
3107
+ }
3108
+
3109
+ export interface ColumnOptions<D = any> extends VxeColumnProps<D> {
3110
+ children?: ColumnOptions<D>[]
3111
+ slots?: VxeColumnPropTypes.Slots<D>
3112
+ }
3113
+
3114
+ /**
3115
+ * 列对象
3116
+ */
3117
+ export class ColumnInfo<D = any> {
3118
+ /**
3119
+ * 该属性已废弃,该属性被 field 替换
3120
+ * @deprecated
3121
+ */
3122
+ property: VxeColumnPropTypes.Field
3123
+
3124
+ /**
3125
+ * 公开属性
3126
+ */
3127
+ type: VxeColumnPropTypes.Type
3128
+ field: VxeColumnPropTypes.Field
3129
+ title: VxeColumnPropTypes.Title
3130
+ width: VxeColumnPropTypes.Width
3131
+ minWidth: VxeColumnPropTypes.MinWidth
3132
+ maxWidth: VxeColumnPropTypes.MaxWidth
3133
+ resizable: VxeColumnPropTypes.Resizable
3134
+ fixed: VxeColumnPropTypes.Fixed
3135
+ align: VxeColumnPropTypes.Align
3136
+ headerAlign: VxeColumnPropTypes.HeaderAlign
3137
+ footerAlign: VxeColumnPropTypes.FooterAlign
3138
+ showOverflow: VxeColumnPropTypes.ShowOverflow
3139
+ showHeaderOverflow: VxeColumnPropTypes.ShowHeaderOverflow
3140
+ showFooterOverflow: VxeColumnPropTypes.ShowFooterOverflow
3141
+ className: VxeColumnPropTypes.ClassName
3142
+ headerClassName: VxeColumnPropTypes.HeaderClassName
3143
+ footerClassName: VxeColumnPropTypes.FooterClassName
3144
+ formatter: VxeColumnPropTypes.Formatter<D>
3145
+ sortable: VxeColumnPropTypes.Sortable
3146
+ sortBy: VxeColumnPropTypes.SortBy
3147
+ sortType: VxeColumnPropTypes.SortType
3148
+ filters: VxeColumnPropTypes.Filter[]
3149
+ filterMultiple: VxeColumnPropTypes.FilterMultiple
3150
+ filterMethod: VxeColumnPropTypes.FilterMethod<D>
3151
+ filterRender: VxeColumnPropTypes.FilterRender
3152
+ treeNode: VxeColumnPropTypes.TreeNode
3153
+ visible: VxeColumnPropTypes.Visible
3154
+ exportMethod: VxeColumnPropTypes.ExportMethod<D>
3155
+ footerExportMethod: VxeColumnPropTypes.FooterExportMethod
3156
+ /**
3157
+ * 已废弃,请使用 titlePrefix
3158
+ * @deprecated
3159
+ */
3160
+ titleHelp: VxeColumnPropTypes.TitleHelp
3161
+ titlePrefix: VxeColumnPropTypes.TitlePrefix
3162
+ titleSuffix: VxeColumnPropTypes.TitleSuffix
3163
+ cellType: VxeColumnPropTypes.CellType
3164
+ cellRender: VxeColumnPropTypes.CellRender<D>
3165
+ editRender: VxeColumnPropTypes.EditRender
3166
+ contentRender: VxeColumnPropTypes.ContentRender
3167
+ params: VxeColumnPropTypes.Params
3168
+ slots: VxeColumnPropTypes.Slots<D>
3169
+
3170
+ /**
3171
+ * 以下内部属性
3172
+ * 内部属性随时都会调整,不应该被使用
3173
+ */
3174
+ id: string
3175
+ parentId: string
3176
+ level: number
3177
+ rowSpan: number
3178
+ colSpan: number
3179
+ halfVisible: boolean
3180
+ defaultVisible: any
3181
+ defaultFixed: any
3182
+ checked: boolean
3183
+ halfChecked: boolean
3184
+ disabled: boolean
3185
+
3186
+ // 数据排序
3187
+ order: VxeTablePropTypes.SortOrder
3188
+ sortTime: number
3189
+
3190
+ // 列排序
3191
+ sortNumber: number
3192
+ renderSortNumber: number
3193
+
3194
+ renderWidth: number
3195
+ renderHeight: number
3196
+ resizeWidth: number
3197
+ model: {
3198
+ update: boolean
3199
+ value: any
3200
+ }
3201
+
3202
+ children: ColumnInfo<D>[]
3203
+
3204
+ renderHeader(params: CellRenderHeaderParams<D>): VNode[]
3205
+ renderCell(params: CellRenderCellParams<D>): VNode[]
3206
+ renderData(params: CellRenderDataParams<D>): VNode[]
3207
+ renderFooter(params: CellRenderFooterParams<D>): VNode[]
3208
+
3209
+ getTitle(): string
3210
+ getKey(): string
3211
+ }
3212
+
3213
+ export interface CellRenderHeaderParams<D = any> {
3214
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
3215
+ $grid: VxeGridConstructor<D> | null
3216
+ $rowIndex: number
3217
+ column: ColumnInfo<D>
3218
+ columnIndex: number
3219
+ $columnIndex: number
3220
+ _columnIndex: number
3221
+ fixed: VxeColumnPropTypes.Fixed
3222
+ type: string
3223
+ isHidden: boolean
3224
+ hasFilter: boolean
3225
+
3226
+ checked?: boolean
3227
+ indeterminate?: boolean
3228
+ }
3229
+
3230
+ export interface CellRenderBodyParams<D = any> {
3231
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
3232
+ $grid: VxeGridConstructor<D> | null
3233
+ seq: string | number
3234
+ rowid: string
3235
+ row: D
3236
+ rowIndex: number
3237
+ $rowIndex: number
3238
+ _rowIndex: number
3239
+ column: ColumnInfo<D>
3240
+ columnIndex: number
3241
+ $columnIndex: number
3242
+ _columnIndex: number
3243
+ fixed: VxeColumnPropTypes.Fixed
3244
+ type: string
3245
+ isHidden: boolean
3246
+ level: number
3247
+ visibleData: D[]
3248
+ data: D[]
3249
+ items: any[]
3250
+ }
3251
+
3252
+ export interface CellRenderDataParams<D = any> extends CellRenderBodyParams<D> { }
3253
+ export interface CellRenderCellParams<D = any> extends CellRenderBodyParams<D> { }
3254
+
3255
+ export interface CellRenderFooterParams<D = any> {
3256
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
3257
+ $grid: VxeGridConstructor<D> | null
3258
+ row: D
3259
+ rowIndex: number
3260
+ _rowIndex: number
3261
+ $rowIndex: number
3262
+ column: ColumnInfo<D>
3263
+ columnIndex: number
3264
+ $columnIndex: number
3265
+ _columnIndex: number
3266
+ fixed: VxeColumnPropTypes.Fixed
3267
+ type: string
3268
+ data: any[][]
3269
+
3270
+ // 兼容旧
3271
+ itemIndex: number
3272
+ items: any[]
3273
+ }
3274
+
3275
+ interface TableEventParams<D = any> extends VxeComponentEventParams {
3276
+ $table: VxeTableConstructor<D> & VxeTablePrivateMethods<D>
3277
+ }
3278
+
3279
+ interface TableBaseHeaderCellParams<D = any> {
3280
+ $rowIndex: number
3281
+ column: ColumnInfo<D>
3282
+ columnIndex: number
3283
+ $columnIndex: number
3284
+ }
3285
+
3286
+ interface TableBaseCellParams<D = any> {
3287
+ row: D
3288
+ rowIndex: number
3289
+ $rowIndex: number
3290
+ column: ColumnInfo<D>
3291
+ columnIndex: number
3292
+ $columnIndex: number
3293
+ }
3294
+
3295
+ interface TableBaseFooterCellParams<D = any> {
3296
+ $rowIndex: number
3297
+ column: ColumnInfo<D>
3298
+ columnIndex: number
3299
+ $columnIndex: number
3300
+ }
3301
+
3302
+ export interface KeydownStartParams { }
3303
+ export interface KeydownStartEventParams<D = any> extends TableEventParams<D>, KeydownStartParams { }
3304
+
3305
+ export interface KeydownParams { }
3306
+ export interface KeydownEventParams<D = any> extends TableEventParams<D>, KeydownParams { }
3307
+
3308
+ export interface KeydownEndParams { }
3309
+ export interface KeydownEndEventParams<D = any> extends TableEventParams<D>, KeydownEndParams { }
3310
+
3311
+ export interface PasteParams { }
3312
+ export interface PasteEventParams<D = any> extends TableEventParams<D>, PasteParams { }
3313
+
3314
+ export interface CopyParams { }
3315
+ export interface CopyEventParams<D = any> extends TableEventParams<D>, CopyParams { }
3316
+
3317
+ export interface CutParams { }
3318
+ export interface CutEventParams<D = any> extends TableEventParams<D>, CutParams { }
3319
+
3320
+ export interface CurrentChangeParams<D = any> extends TableBaseCellParams<D> {
3321
+ newValue: any
3322
+ oldValue: any
3323
+ }
3324
+ export interface CurrentChangeEventParams<D = any> extends TableEventParams<D>, CurrentChangeParams<D> { }
3325
+
3326
+ export interface RadioChangeParams<D = any> extends TableBaseCellParams<D> {
3327
+ newValue: any
3328
+ oldValue: any
3329
+ }
3330
+ export interface RadioChangeEventParams<D = any> extends TableEventParams<D>, RadioChangeParams<D> { }
3331
+
3332
+ export interface CheckboxChangeParams<D = any> extends TableBaseCellParams<D> {
3333
+ checked: boolean
3334
+ /**
3335
+ * 请调用方法 getCheckboxRecords() 获取
3336
+ * @deprecated
3337
+ */
3338
+ records: D[]
3339
+ /**
3340
+ * 请调用方法 getCheckboxReserveRecords() 获取
3341
+ * @deprecated
3342
+ */
3343
+ reserves: D[]
3344
+ /**
3345
+ * 请调用方法 getCheckboxIndeterminateRecords() 获取
3346
+ * @deprecated
3347
+ */
3348
+ indeterminates: D[]
3349
+ }
3350
+ export interface CheckboxChangeEventParams<D = any> extends TableEventParams<D>, CheckboxChangeParams<D> { }
3351
+
3352
+ export interface CheckboxAllParams<D = any> extends CheckboxChangeParams<D> { }
3353
+ export interface CheckboxAllEventParams<D = any> extends TableEventParams<D>, CheckboxAllParams<D> { }
3354
+
3355
+ export interface CheckboxRangeStartParams<D = any> {
3356
+ /**
3357
+ * 请调用方法 getCheckboxRecords() 获取
3358
+ * @deprecated
3359
+ */
3360
+ records: D[]
3361
+ /**
3362
+ * 请调用方法 getCheckboxReserveRecords() 获取
3363
+ * @deprecated
3364
+ */
3365
+ reserves: D[]
3366
+ }
3367
+ export interface CheckboxRangeStartEventParams<D = any> extends TableEventParams<D>, CheckboxRangeStartParams<D> { }
3368
+
3369
+ export interface CheckboxRangeChangeParams<D = any> extends CheckboxRangeStartParams<D> { }
3370
+ export interface CheckboxRangeChangeEventParams<D = any> extends TableEventParams<D>, CheckboxRangeChangeParams<D> { }
3371
+
3372
+ export interface CheckboxRangeEndParams<D = any> extends CheckboxRangeStartParams<D> { }
3373
+
3374
+ export interface CheckboxRangeEndEventParams<D = any> extends TableEventParams<D>, CheckboxRangeEndParams<D> { }
3375
+
3376
+ export interface CheckboxRangeSelectParams<D = any> {
3377
+ rangeRecords: D[]
3378
+ }
3379
+ export interface CheckboxRangeSelectEventParams<D = any> extends TableEventParams<D>, CheckboxRangeSelectParams<D> { }
3380
+
3381
+ export interface CellClickParams<D = any> extends TableBaseCellParams<D> {
3382
+ triggerRadio: boolean
3383
+ triggerCheckbox: boolean
3384
+ triggerTreeNode: boolean
3385
+ triggerExpandNode: boolean
3386
+ }
3387
+ export interface CellClickEventParams<D = any> extends TableEventParams<D>, CellClickParams<D> { }
3388
+
3389
+ export interface CellDblclickParams<D = any> extends TableEventParams<D>, CellClickParams<D> { }
3390
+ export interface CellDblclickEventParams<D = any> extends TableEventParams<D>, CellDblclickParams<D> { }
3391
+
3392
+ export interface CellMenuParams<D = any> extends TableBaseCellParams<D> { }
3393
+ export interface CellMenuEventParams<D = any> extends TableEventParams<D>, CellMenuParams<D> { }
3394
+
3395
+ export interface CellMouseenterParams<D = any> extends TableBaseCellParams<D> { }
3396
+ export interface CellMouseenterEventParams<D = any> extends TableEventParams<D>, CellMouseenterParams<D> { }
3397
+
3398
+ export interface CellMouseleaveParams<D = any> extends TableBaseCellParams<D> { }
3399
+ export interface CellMouseleaveEventParams<D = any> extends TableEventParams<D>, CellMouseleaveParams<D> { }
3400
+
3401
+ export interface CellDeleteValueParams<D = any> {
3402
+ row: D
3403
+ rowIndex: number
3404
+ column: VxeTableDefines.ColumnInfo<D>
3405
+ columnIndex: number
3406
+ activeArea: VxeTableProDefines.MouseActiveCellArea<D>
3407
+ cellAreas: VxeTableProDefines.MouseCellArea<D>[]
3408
+ }
3409
+ export interface CellDeleteValueEventParams<D = any> extends TableEventParams<D>, CellDeleteValueParams<D> { }
3410
+
3411
+ export interface HeaderCellClickParams<D = any> extends TableBaseHeaderCellParams<D> {
3412
+ triggerResizable: boolean
3413
+ triggerSort: boolean
3414
+ triggerFilter: boolean
3415
+ }
3416
+ export interface HeaderCellClickEventParams<D = any> extends TableEventParams<D>, HeaderCellClickParams<D> { }
3417
+
3418
+ export interface HeaderCellDblclickParams<D = any> extends TableBaseHeaderCellParams<D> { }
3419
+ export interface HeaderCellDblclickEventParams<D = any> extends TableEventParams<D>, HeaderCellDblclickParams<D> { }
3420
+
3421
+ export interface HeaderCellMenuParams<D = any> extends TableBaseHeaderCellParams<D> { }
3422
+ export interface HeaderCellMenuEventParams<D = any> extends TableEventParams<D>, HeaderCellMenuParams<D> { }
3423
+
3424
+ export interface FooterCellClickParams<D = any> extends TableBaseFooterCellParams<D> { }
3425
+ export interface FooterCellClickEventParams<D = any> extends TableEventParams<D>, FooterCellClickParams<D> { }
3426
+
3427
+ export interface FooterCellDblclickParams<D = any> extends TableBaseFooterCellParams<D> { }
3428
+ export interface FooterCellDblclickEventParams<D = any> extends TableEventParams<D>, FooterCellDblclickParams<D> { }
3429
+
3430
+ export interface FooterCellMenuParams<D = any> extends TableBaseFooterCellParams<D> { }
3431
+ export interface FooterCellMenuEventParams<D = any> extends TableEventParams<D>, FooterCellMenuParams<D> { }
3432
+
3433
+ export interface SortCheckedParams<D = any> {
3434
+ column: VxeTableDefines.ColumnInfo<D>
3435
+ field: VxeColumnPropTypes.Field
3436
+ property: VxeColumnPropTypes.Field
3437
+ order: VxeTablePropTypes.SortOrder
3438
+ sortTime: number
3439
+ }
3440
+ export interface SortChangeParams<D = any> extends SortCheckedParams<D> {
3441
+ sortList: SortCheckedParams[]
3442
+ }
3443
+ export interface SortChangeEventParams<D = any> extends TableEventParams<D>, SortChangeParams<D> { }
3444
+
3445
+ export interface FilterCheckedParams<D = any> {
3446
+ column: VxeTableDefines.ColumnInfo<D>
3447
+ field: VxeColumnPropTypes.Field
3448
+ property: VxeColumnPropTypes.Field
3449
+ values: any[]
3450
+ datas: any[]
3451
+ }
3452
+ export interface FilterChangeParams<D = any> extends FilterCheckedParams<D> {
3453
+ filterList: FilterCheckedParams<D>[]
3454
+ }
3455
+ export interface FilterChangeEventParams<D = any> extends TableEventParams<D>, FilterChangeParams<D> { }
3456
+
3457
+ export interface FilterVisibleParams<D = any> {
3458
+ column: VxeTableDefines.ColumnInfo<D>
3459
+ field: VxeColumnPropTypes.Field
3460
+ property: VxeColumnPropTypes.Field
3461
+ filterList: FilterCheckedParams<D>[]
3462
+ visible: boolean
3463
+ }
3464
+ export interface FilterVisibleEventParams<D = any> extends TableEventParams<D>, FilterVisibleParams<D> { }
3465
+
3466
+ export interface ResizableChangeParams<D = any> extends TableBaseHeaderCellParams<D> { }
3467
+ export interface ResizableChangeEventParams<D = any> extends TableEventParams<D>, ResizableChangeParams<D> {
3468
+ resizeWidth: number
3469
+ }
3470
+
3471
+ export interface ToggleRowExpandParams<D = any> extends TableBaseCellParams<D> {
3472
+ expanded: boolean
3473
+ }
3474
+ export interface ToggleRowExpandEventParams<D = any> extends TableEventParams<D>, ToggleRowExpandParams { }
3475
+
3476
+ export interface ToggleTreeExpandParams<D = any> extends TableBaseCellParams<D> { }
3477
+ export interface ToggleTreeExpandEventParams<D = any> extends TableEventParams<D>, ToggleTreeExpandParams<D> { }
3478
+
3479
+ export interface MenuClickParams<D = any> extends TableBaseCellParams<D> {
3480
+ menu: VxeTableDefines.MenuFirstOption | VxeTableDefines.MenuChildOption
3481
+ type: string
3482
+ }
3483
+ export interface MenuClickEventParams<D = any> extends TableEventParams<D>, MenuClickParams<D> { }
3484
+
3485
+ export interface EditClosedParams<D = any> extends TableBaseCellParams<D> { }
3486
+ export interface EditClosedEventParams<D = any> extends TableEventParams<D>, EditClosedParams<D> { }
3487
+
3488
+ export interface EditActivedParams<D = any> extends TableBaseCellParams<D> { }
3489
+ export interface EditActivedEventParams<D = any> extends TableEventParams<D>, EditActivedParams<D> { }
3490
+
3491
+ export interface EditDisabledParams<D = any> extends TableBaseCellParams<D> { }
3492
+ export interface EditDisabledEventParams<D = any> extends TableEventParams<D>, EditDisabledParams<D> { }
3493
+
3494
+ export interface ValidErrorParams<D = any> extends TableBaseCellParams<D> {
3495
+ rule: any
3496
+ }
3497
+ export interface ValidErrorEventParams<D = any> extends TableEventParams<D>, ValidErrorParams<D> { }
3498
+
3499
+ export interface ScrollParams {
3500
+ type: string
3501
+ scrollTop: number
3502
+ scrollLeft: number
3503
+ scrollHeight: number
3504
+ scrollWidth: number
3505
+ bodyWidth: number
3506
+ bodyHeight: number
3507
+ isX: boolean
3508
+ isY: boolean
3509
+ }
3510
+ export interface ScrollEventParams<D = any> extends TableEventParams<D>, ScrollParams {
3511
+ target: HTMLDivElement
3512
+ }
3513
+
3514
+ export interface CustomParams {
3515
+ type: string
3516
+ }
3517
+ export interface CustomEventParams<D = any> extends TableEventParams<D>, CustomParams { }
3518
+
3519
+ export interface VxeTableCustomStoreObj {
3520
+ btnEl: HTMLDivElement | null
3521
+ isAll: boolean
3522
+ isIndeterminate: boolean
3523
+ activeBtn: boolean
3524
+ activeWrapper: boolean
3525
+ visible: boolean
3526
+ maxHeight: number
3527
+ }
3528
+
3529
+ export interface VxeTableCustomStorageObj {
3530
+ visible?: boolean
3531
+ resizable?: boolean
3532
+ fixed?: boolean
3533
+ sort?: boolean
3534
+ }
3535
+
3536
+ export interface ExtortSheetMethodParams {
3537
+ $table: VxeTableConstructor
3538
+ $grid?: VxeGridConstructor
3539
+ options: VxeTablePropTypes.ExportHandleOptions
3540
+ datas: any[]
3541
+ columns: VxeTableDefines.ColumnInfo[]
3542
+ colgroups: VxeTableDefines.ColumnInfo[][]
3543
+ }
3544
+ }
3545
+
3546
+ export interface VxeTableEventProps<D = any> {
3547
+ onKeydownStart?: VxeTableEvents.KeydownStart<D>
3548
+ onKeydown?: VxeTableEvents.Keydown<D>
3549
+ onKeydownEnd?: VxeTableEvents.KeydownEnd<D>
3550
+ onPaste?: VxeTableEvents.Paste<D>
3551
+ onCopy?: VxeTableEvents.Copy<D>
3552
+ onCut?: VxeTableEvents.Cut<D>
3553
+ onCurrentChange?: VxeTableEvents.CurrentChange<D>
3554
+ onRadioChange?: VxeTableEvents.RadioChange<D>
3555
+ onCheckboxChange?: VxeTableEvents.CheckboxChange<D>
3556
+ onCheckboxAll?: VxeTableEvents.CheckboxAll<D>
3557
+ onCheckboxRangeStart?: VxeTableEvents.CheckboxRangeStart<D>
3558
+ onCheckboxRangeChange?: VxeTableEvents.CheckboxRangeChange<D>
3559
+ onCheckboxRangeEnd?: VxeTableEvents.CheckboxRangeEnd<D>
3560
+ onCheckboxRangeSelect?: VxeTableEvents.CheckboxRangeSelect<D>
3561
+ onCellClick?: VxeTableEvents.CellClick<D>
3562
+ onCellDblclick?: VxeTableEvents.CellDblclick<D>
3563
+ onCellMenu?: VxeTableEvents.CellMenu<D>
3564
+ onCellMouseenter?: VxeTableEvents.CellMouseenter<D>
3565
+ onCellMouseleave?: VxeTableEvents.CellMouseleave<D>
3566
+ onCellDeleteValue?: VxeTableEvents.CellDeleteValue<D>
3567
+ onHeaderCellClick?: VxeTableEvents.HeaderCellClick<D>
3568
+ onHeaderCellDblclick?: VxeTableEvents.HeaderCellDblclick<D>
3569
+ onHeaderCellMenu?: VxeTableEvents.HeaderCellMenu<D>
3570
+ onFooterCellClick?: VxeTableEvents.FooterCellClick<D>
3571
+ onFooterCellDblclick?: VxeTableEvents.FooterCellDblclick<D>
3572
+ onFooterCellMenu?: VxeTableEvents.FooterCellMenu<D>
3573
+ onSortChange?: VxeTableEvents.SortChange<D>
3574
+ onFilterChange?: VxeTableEvents.FilterChange<D>
3575
+ onFilterVisible?: VxeTableEvents.FilterVisible<D>
3576
+ onResizableChange?: VxeTableEvents.ResizableChange<D>
3577
+ onToggleRowExpand?: VxeTableEvents.ToggleRowExpand<D>
3578
+ onToggleTreeExpand?: VxeTableEvents.ToggleTreeExpand<D>
3579
+ onMenuClick?: VxeTableEvents.MenuClick<D>
3580
+ onEditClosed?: VxeTableEvents.EditClosed<D>
3581
+ onEditActived?: VxeTableEvents.EditActived<D>
3582
+ onEditDisabled?: VxeTableEvents.EditDisabled<D>
3583
+ onValidError?: VxeTableEvents.ValidError<D>
3584
+ onScroll?: VxeTableEvents.Scroll<D>
3585
+ onCustom?: VxeTableEvents.Custom<D>
3586
+ }
3587
+
3588
+ export interface VxeTableListeners<D = any> {
3589
+ /**
3590
+ * 当表格被激活且键盘被按下开始时会触发的事件
3591
+ */
3592
+ keydownStart?: VxeTableEvents.KeydownStart<D>
3593
+ /**
3594
+ * 当表格被激活且键盘被按下时会触发的事件
3595
+ */
3596
+ keydown?: VxeTableEvents.Keydown<D>
3597
+ /**
3598
+ * 当表格被激活且键盘被按下结束时会触发的事件
3599
+ */
3600
+ keydownEnd?: VxeTableEvents.KeydownEnd<D>
3601
+ paste?: VxeTableEvents.Paste<D>
3602
+ copy?: VxeTableEvents.Copy<D>
3603
+ cut?: VxeTableEvents.Cut<D>
3604
+ currentChange?: VxeTableEvents.CurrentChange<D>
3605
+ radioChange?: VxeTableEvents.RadioChange<D>
3606
+ checkboxChange?: VxeTableEvents.CheckboxChange<D>
3607
+ checkboxAll?: VxeTableEvents.CheckboxAll<D>
3608
+ checkboxRangeStart?: VxeTableEvents.CheckboxRangeStart<D>
3609
+ checkboxRangeChange?: VxeTableEvents.CheckboxRangeChange<D>
3610
+ checkboxRangeEnd?: VxeTableEvents.CheckboxRangeEnd<D>
3611
+ checkboxRangeSelect?: VxeTableEvents.CheckboxRangeSelect<D>
3612
+ cellClick?: VxeTableEvents.CellClick<D>
3613
+ cellDblclick?: VxeTableEvents.CellDblclick<D>
3614
+ cellMenu?: VxeTableEvents.CellMenu<D>
3615
+ cellMouseenter?: VxeTableEvents.CellMouseenter<D>
3616
+ cellMouseleave?: VxeTableEvents.CellMouseleave<D>
3617
+ cellDeleteValue?: VxeTableEvents.CellDeleteValue<D>
3618
+ headerCellClick?: VxeTableEvents.HeaderCellClick<D>
3619
+ headerCellDblclick?: VxeTableEvents.HeaderCellDblclick<D>
3620
+ headerCellMenu?: VxeTableEvents.HeaderCellMenu<D>
3621
+ footerCellClick?: VxeTableEvents.FooterCellClick<D>
3622
+ footerCellDblclick?: VxeTableEvents.FooterCellDblclick<D>
3623
+ footerCellMenu?: VxeTableEvents.FooterCellMenu<D>
3624
+ sortChange?: VxeTableEvents.SortChange<D>
3625
+ filterChange?: VxeTableEvents.FilterChange<D>
3626
+ resizableChange?: VxeTableEvents.ResizableChange<D>
3627
+ toggleRowExpand?: VxeTableEvents.ToggleRowExpand<D>
3628
+ toggleTreeExpand?: VxeTableEvents.ToggleTreeExpand<D>
3629
+ menuClick?: VxeTableEvents.MenuClick<D>
3630
+ editClosed?: VxeTableEvents.EditClosed<D>
3631
+ editActived?: VxeTableEvents.EditActived<D>
3632
+ editDisabled?: VxeTableEvents.EditDisabled<D>
3633
+ /**
3634
+ * 只对 edit-rules 配置时有效,当数据校验不通过时会触发该事件
3635
+ */
3636
+ validError?: VxeTableEvents.ValidError<D>
3637
+ /**
3638
+ * 表格滚动时会触发该事件
3639
+ */
3640
+ scroll?: VxeTableEvents.Scroll<D>
3641
+ /**
3642
+ * 如果与工具栏关联,在自定义列按钮被手动点击后会触发该事件
3643
+ */
3644
+ custom?: VxeTableEvents.Custom<D>
3645
+ }
3646
+
3647
+ export namespace VxeTableEvents {
3648
+ export type KeydownStart<D = any> = (params: VxeTableDefines.KeydownStartEventParams<D>) => void
3649
+ export type Keydown<D = any> = (params: VxeTableDefines.KeydownEventParams<D>) => void
3650
+ export type KeydownEnd<D = any> = (params: VxeTableDefines.KeydownEndEventParams<D>) => void
3651
+ export type Paste<D = any> = (params: VxeTableDefines.PasteEventParams<D>) => void
3652
+ export type Copy<D = any> = (params: VxeTableDefines.CopyEventParams<D>) => void
3653
+ export type Cut<D = any> = (params: VxeTableDefines.CutEventParams<D>) => void
3654
+ export type CurrentChange<D = any> = (params: VxeTableDefines.CurrentChangeEventParams<D>) => void
3655
+ export type RadioChange<D = any> = (params: VxeTableDefines.RadioChangeEventParams<D>) => void
3656
+ export type CheckboxChange<D = any> = (params: VxeTableDefines.CheckboxChangeEventParams<D>) => void
3657
+ export type CheckboxAll<D = any> = (params: VxeTableDefines.CheckboxAllEventParams<D>) => void
3658
+ export type CheckboxRangeStart<D = any> = (params: VxeTableDefines.CheckboxRangeStartEventParams<D>) => void
3659
+ export type CheckboxRangeChange<D = any> = (params: VxeTableDefines.CheckboxRangeChangeEventParams<D>) => void
3660
+ export type CheckboxRangeEnd<D = any> = (params: VxeTableDefines.CheckboxRangeEndEventParams<D>) => void
3661
+ export type CheckboxRangeSelect<D = any> = (params: VxeTableDefines.CheckboxRangeSelectEventParams<D>) => void
3662
+ export type CellClick<D = any> = (params: VxeTableDefines.CellClickEventParams<D>) => void
3663
+ export type CellDblclick<D = any> = (params: VxeTableDefines.CellDblclickEventParams<D>) => void
3664
+ export type CellMenu<D = any> = (params: VxeTableDefines.CellMenuEventParams<D>) => void
3665
+ export type CellMouseenter<D = any> = (params: VxeTableDefines.CellMouseenterEventParams<D>) => void
3666
+ export type CellMouseleave<D = any> = (params: VxeTableDefines.CellMouseleaveEventParams<D>) => void
3667
+ export type CellDeleteValue<D = any> = (params: VxeTableDefines.CellDeleteValueEventParams<D>) => void
3668
+ export type HeaderCellClick<D = any> = (params: VxeTableDefines.HeaderCellClickEventParams<D>) => void
3669
+ export type HeaderCellDblclick<D = any> = (params: VxeTableDefines.HeaderCellDblclickEventParams<D>) => void
3670
+ export type HeaderCellMenu<D = any> = (params: VxeTableDefines.HeaderCellMenuEventParams<D>) => void
3671
+ export type FooterCellClick<D = any> = (params: VxeTableDefines.FooterCellClickEventParams<D>) => void
3672
+ export type FooterCellDblclick<D = any> = (params: VxeTableDefines.FooterCellDblclickEventParams<D>) => void
3673
+ export type FooterCellMenu<D = any> = (params: VxeTableDefines.FooterCellMenuEventParams<D>) => void
3674
+ export type SortChange<D = any> = (params: VxeTableDefines.SortChangeEventParams<D>) => void
3675
+ export type FilterChange<D = any> = (params: VxeTableDefines.FilterChangeEventParams<D>) => void
3676
+ export type FilterVisible<D = any> = (params: VxeTableDefines.FilterVisibleEventParams<D>) => void
3677
+ export type ResizableChange<D = any> = (params: VxeTableDefines.ResizableChangeEventParams<D>) => void
3678
+ export type ToggleRowExpand<D = any> = (params: VxeTableDefines.ToggleRowExpandEventParams<D>) => void
3679
+ export type ToggleTreeExpand<D = any> = (params: VxeTableDefines.ToggleTreeExpandEventParams<D>) => void
3680
+ export type MenuClick<D = any> = (params: VxeTableDefines.MenuClickEventParams<D>) => void
3681
+ export type EditClosed<D = any> = (params: VxeTableDefines.EditClosedEventParams<D>) => void
3682
+ export type EditActived<D = any> = (params: VxeTableDefines.EditActivedEventParams<D>) => void
3683
+ export type EditDisabled<D = any> = (params: VxeTableDefines.EditDisabledEventParams<D>) => void
3684
+ export type ValidError<D = any> = (params: VxeTableDefines.ValidErrorEventParams<D>) => void
3685
+ export type Scroll<D = any> = (params: VxeTableDefines.ScrollEventParams<D>) => void
3686
+ export type Custom<D = any> = (params: VxeTableDefines.CustomEventParams<D>) => void
3687
+ }
3688
+
3689
+ export namespace VxeTableSlotTypes {
3690
+ export interface DefaultSlotParams {}
3691
+ }
3692
+
3693
+ export interface VxeTableSlots {
3694
+ /**
3695
+ * 自定义空数据时显示模板
3696
+ */
3697
+ empty?(params: {
3698
+ $table: VxeTableConstructor<D>
3699
+ $grid: VxeGridConstructor<D> | null | undefined
3700
+ }): any
3701
+ /**
3702
+ * 自定义加载中模板
3703
+ */
3704
+ loading?(params: {
3705
+ $table: VxeTableConstructor<D>
3706
+ $grid: VxeGridConstructor<D> | null | undefined
3707
+ }): any
3708
+ }
3709
+
3710
+ export * from './table-module'
3711
+ export * from './table-plugins'
3712
+
3713
+ export const Table: typeof VxeTable
3714
+ export default VxeTable