vxe-table 3.4.14-beta.2 → 3.5.0-beta.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 (160) hide show
  1. package/README.md +2 -6
  2. package/lib/button/src/button.js +19 -9
  3. package/lib/button/src/button.min.js +1 -1
  4. package/lib/checkbox/src/checkbox.js +2 -2
  5. package/lib/checkbox/src/checkbox.min.js +1 -1
  6. package/lib/edit/src/mixin.js +26 -18
  7. package/lib/edit/src/mixin.min.js +1 -1
  8. package/lib/export/src/export-panel.js +2 -2
  9. package/lib/export/src/export-panel.min.js +1 -1
  10. package/lib/export/src/import-panel.js +2 -2
  11. package/lib/export/src/import-panel.min.js +1 -1
  12. package/lib/export/src/mixin.js +26 -24
  13. package/lib/export/src/mixin.min.js +1 -1
  14. package/lib/filter/src/mixin.js +28 -21
  15. package/lib/filter/src/mixin.min.js +1 -1
  16. package/lib/filter/src/panel.js +2 -2
  17. package/lib/filter/src/panel.min.js +1 -1
  18. package/lib/footer/src/footer.js +7 -4
  19. package/lib/footer/src/footer.min.js +1 -1
  20. package/lib/form/src/form-gather.js +2 -2
  21. package/lib/form/src/form-gather.min.js +1 -1
  22. package/lib/form/src/form-item.js +8 -3
  23. package/lib/form/src/form-item.min.js +1 -1
  24. package/lib/form/src/form.js +48 -38
  25. package/lib/form/src/form.min.js +1 -1
  26. package/lib/form/src/render.js +5 -5
  27. package/lib/form/src/render.min.js +1 -1
  28. package/lib/form/src/util.js +13 -2
  29. package/lib/form/src/util.min.js +1 -1
  30. package/lib/grid/src/grid.js +44 -34
  31. package/lib/grid/src/grid.min.js +1 -1
  32. package/lib/header/src/header.js +10 -8
  33. package/lib/header/src/header.min.js +1 -1
  34. package/lib/index.umd.js +2322 -2170
  35. package/lib/index.umd.min.js +1 -2
  36. package/lib/input/src/input.js +30 -18
  37. package/lib/input/src/input.min.js +1 -1
  38. package/lib/keyboard/src/mixin.js +12 -8
  39. package/lib/keyboard/src/mixin.min.js +1 -1
  40. package/lib/list/src/list.js +7 -5
  41. package/lib/list/src/list.min.js +1 -1
  42. package/lib/menu/src/mixin.js +24 -14
  43. package/lib/menu/src/mixin.min.js +1 -1
  44. package/lib/menu/src/panel.js +3 -3
  45. package/lib/menu/src/panel.min.js +1 -1
  46. package/lib/modal/src/modal.js +24 -12
  47. package/lib/modal/src/modal.min.js +1 -1
  48. package/lib/pulldown/src/pulldown.js +16 -12
  49. package/lib/pulldown/src/pulldown.min.js +1 -1
  50. package/lib/radio/src/button.js +2 -2
  51. package/lib/radio/src/button.min.js +1 -1
  52. package/lib/radio/src/radio.js +2 -2
  53. package/lib/radio/src/radio.min.js +1 -1
  54. package/lib/select/src/select.js +26 -16
  55. package/lib/select/src/select.min.js +1 -1
  56. package/lib/switch/src/switch.js +4 -4
  57. package/lib/switch/src/switch.min.js +1 -1
  58. package/lib/table/src/body.js +46 -22
  59. package/lib/table/src/body.min.js +1 -1
  60. package/lib/table/src/cell.js +19 -11
  61. package/lib/table/src/cell.min.js +1 -1
  62. package/lib/table/src/column.js +3 -3
  63. package/lib/table/src/column.min.js +1 -1
  64. package/lib/table/src/columnInfo.js +201 -0
  65. package/lib/table/src/columnInfo.min.js +1 -0
  66. package/lib/table/src/methods.js +339 -307
  67. package/lib/table/src/methods.min.js +1 -1
  68. package/lib/table/src/table.js +80 -62
  69. package/lib/table/src/table.min.js +1 -1
  70. package/lib/table/src/util.js +38 -3
  71. package/lib/table/src/util.min.js +1 -1
  72. package/lib/textarea/src/textarea.js +2 -2
  73. package/lib/textarea/src/textarea.min.js +1 -1
  74. package/lib/toolbar/src/toolbar.js +16 -10
  75. package/lib/toolbar/src/toolbar.min.js +1 -1
  76. package/lib/tools/{src/dom.js → dom.js} +12 -1
  77. package/lib/tools/dom.min.js +1 -0
  78. package/lib/tools/{src/event.js → event.js} +3 -6
  79. package/lib/tools/event.min.js +1 -0
  80. package/lib/tools/log.js +29 -0
  81. package/lib/tools/log.min.js +1 -0
  82. package/lib/tools/{src/resize.js → resize.js} +1 -1
  83. package/lib/tools/resize.min.js +1 -0
  84. package/lib/tools/utils.js +155 -0
  85. package/lib/tools/utils.min.js +1 -0
  86. package/lib/tooltip/src/tooltip.js +89 -50
  87. package/lib/tooltip/src/tooltip.min.js +1 -1
  88. package/lib/v-x-e-table/index.js +7 -4
  89. package/lib/v-x-e-table/index.min.js +1 -1
  90. package/lib/v-x-e-table/src/conf.js +4 -1
  91. package/lib/v-x-e-table/src/conf.min.js +1 -1
  92. package/lib/v-x-e-table/src/interceptor.js +4 -4
  93. package/lib/v-x-e-table/src/interceptor.min.js +1 -1
  94. package/lib/v-x-e-table/src/renderer.js +18 -10
  95. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  96. package/lib/v-x-e-table/src/store.js +3 -3
  97. package/lib/v-x-e-table/src/store.min.js +1 -1
  98. package/lib/validator/src/mixin.js +4 -4
  99. package/lib/validator/src/mixin.min.js +1 -1
  100. package/package.json +3 -3
  101. package/packages/button/src/button.js +4 -2
  102. package/packages/checkbox/src/checkbox.js +2 -2
  103. package/packages/edit/src/mixin.js +7 -6
  104. package/packages/export/src/export-panel.js +1 -1
  105. package/packages/export/src/import-panel.js +1 -1
  106. package/packages/export/src/mixin.js +20 -19
  107. package/packages/filter/src/mixin.js +18 -14
  108. package/packages/filter/src/panel.js +1 -1
  109. package/packages/footer/src/footer.js +4 -2
  110. package/packages/form/src/form-gather.js +2 -2
  111. package/packages/form/src/form-item.js +7 -2
  112. package/packages/form/src/form.js +29 -23
  113. package/packages/form/src/render.js +4 -4
  114. package/packages/form/src/util.js +9 -2
  115. package/packages/grid/src/grid.js +22 -20
  116. package/packages/header/src/header.js +3 -2
  117. package/packages/input/src/input.js +6 -3
  118. package/packages/keyboard/src/mixin.js +1 -2
  119. package/packages/list/src/list.js +3 -2
  120. package/packages/menu/src/mixin.js +5 -3
  121. package/packages/menu/src/panel.js +3 -3
  122. package/packages/modal/src/modal.js +7 -4
  123. package/packages/pulldown/src/pulldown.js +3 -1
  124. package/packages/radio/src/button.js +2 -2
  125. package/packages/radio/src/radio.js +2 -2
  126. package/packages/select/src/select.js +5 -3
  127. package/packages/switch/src/switch.js +4 -4
  128. package/packages/table/src/body.js +36 -17
  129. package/packages/table/src/cell.js +5 -4
  130. package/packages/table/src/column.js +1 -1
  131. package/packages/table/src/columnInfo.js +148 -0
  132. package/packages/table/src/methods.js +100 -75
  133. package/packages/table/src/table.js +56 -41
  134. package/packages/table/src/util.js +19 -1
  135. package/packages/textarea/src/textarea.js +2 -2
  136. package/packages/toolbar/src/toolbar.js +7 -4
  137. package/packages/tools/{src/dom.js → dom.js} +13 -1
  138. package/packages/tools/{src/event.js → event.js} +1 -3
  139. package/packages/tools/log.js +16 -0
  140. package/packages/tools/{src/resize.js → resize.js} +1 -1
  141. package/packages/tools/utils.js +108 -0
  142. package/packages/tooltip/src/tooltip.js +49 -24
  143. package/packages/v-x-e-table/index.js +4 -2
  144. package/packages/v-x-e-table/src/conf.js +4 -1
  145. package/packages/v-x-e-table/src/interceptor.js +3 -3
  146. package/packages/v-x-e-table/src/renderer.js +4 -3
  147. package/packages/v-x-e-table/src/store.js +2 -2
  148. package/packages/validator/src/mixin.js +3 -3
  149. package/types/v-x-e-table/index.d.ts +8 -0
  150. package/README.en.md +0 -170
  151. package/README.zh-TW.md +0 -174
  152. package/lib/tools/index.js +0 -76
  153. package/lib/tools/index.min.js +0 -1
  154. package/lib/tools/src/dom.min.js +0 -1
  155. package/lib/tools/src/event.min.js +0 -1
  156. package/lib/tools/src/resize.min.js +0 -1
  157. package/lib/tools/src/utils.js +0 -365
  158. package/lib/tools/src/utils.min.js +0 -1
  159. package/packages/tools/index.js +0 -14
  160. package/packages/tools/src/utils.js +0 -272
@@ -1,9 +1,9 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import VXETable from '../../v-x-e-table'
4
- import { UtilTools, DomTools, isEnableConf } from '../../tools'
4
+ import UtilTools, { isEnableConf } from '../../tools/utils'
5
5
  import { getOffsetSize, calcTreeLine, mergeBodyMethod, removeScrollListener, restoreScrollListener } from './util'
6
- import { browse } from '../../tools/src/dom'
6
+ import DomTools from '../../tools/dom'
7
7
 
8
8
  const renderType = 'body'
9
9
 
@@ -83,7 +83,8 @@ function renderColumn (h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, r
83
83
  editStore,
84
84
  validStore,
85
85
  tooltipConfig,
86
- rowOpts
86
+ rowOpts,
87
+ columnOpts
87
88
  } = $xetable
88
89
  const { type, cellRender, editRender, align, showOverflow, className, treeNode } = column
89
90
  const { actived } = editStore
@@ -267,7 +268,7 @@ function renderColumn (h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, r
267
268
  'col--valid-error': hasValidError,
268
269
  'col--current': currentColumn === column
269
270
  }, UtilTools.getClass(className, params), UtilTools.getClass(cellClassName, params)],
270
- key: columnKey ? column.id : $columnIndex,
271
+ key: columnKey || columnOpts.useKey ? column.id : $columnIndex,
271
272
  attrs,
272
273
  style: Object.assign({
273
274
  height: hasEllipsis && (scrollYRHeight || rowHeight) ? `${scrollYRHeight || rowHeight}px` : ''
@@ -343,7 +344,7 @@ function renderRows (h, _vm, $xetable, fixedType, tableData, tableColumn) {
343
344
  rowid: rowid
344
345
  },
345
346
  style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : null,
346
- key: rowKey || treeConfig ? rowid : $rowIndex,
347
+ key: (rowKey || rowOpts.useKey) || treeConfig ? rowid : $rowIndex,
347
348
  on: trOn
348
349
  }, tableColumn.map((column, $columnIndex) => {
349
350
  return renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData)
@@ -401,7 +402,7 @@ function renderRows (h, _vm, $xetable, fixedType, tableData, tableColumn) {
401
402
  * 同步滚动条
402
403
  */
403
404
  let scrollProcessTimeout
404
- function syncBodyScroll (scrollTop, elem1, elem2) {
405
+ function syncBodyScroll (_vm, fixedType, scrollTop, elem1, elem2) {
405
406
  if (elem1 || elem2) {
406
407
  if (elem1) {
407
408
  removeScrollListener(elem1)
@@ -412,9 +413,27 @@ function syncBodyScroll (scrollTop, elem1, elem2) {
412
413
  elem2.scrollTop = scrollTop
413
414
  }
414
415
  clearTimeout(scrollProcessTimeout)
415
- scrollProcessTimeout = setTimeout(function () {
416
+ scrollProcessTimeout = setTimeout(() => {
417
+ // const { tableBody, leftBody, rightBody } = _vm.$refs
418
+ // const bodyElem = tableBody.$el
419
+ // const leftElem = leftBody ? leftBody.$el : null
420
+ // const rightElem = rightBody ? rightBody.$el : null
416
421
  restoreScrollListener(elem1)
417
422
  restoreScrollListener(elem2)
423
+ // 检查滚动条是的同步
424
+ // let targetTop = bodyElem.scrollTop
425
+ // if (fixedType === 'left') {
426
+ // if (leftElem) {
427
+ // targetTop = leftElem.scrollTop
428
+ // }
429
+ // } else if (fixedType === 'right') {
430
+ // if (rightElem) {
431
+ // targetTop = rightElem.scrollTop
432
+ // }
433
+ // }
434
+ // setScrollTop(bodyElem, targetTop)
435
+ // setScrollTop(leftElem, targetTop)
436
+ // setScrollTop(rightElem, targetTop)
418
437
  }, 300)
419
438
  }
420
439
  }
@@ -621,10 +640,10 @@ export default {
621
640
  }
622
641
  if (leftElem && fixedType === 'left') {
623
642
  scrollTop = leftElem.scrollTop
624
- syncBodyScroll(scrollTop, bodyElem, rightElem)
643
+ syncBodyScroll($xetable, fixedType, scrollTop, bodyElem, rightElem)
625
644
  } else if (rightElem && fixedType === 'right') {
626
645
  scrollTop = rightElem.scrollTop
627
- syncBodyScroll(scrollTop, bodyElem, leftElem)
646
+ syncBodyScroll($xetable, fixedType, scrollTop, bodyElem, leftElem)
628
647
  } else {
629
648
  if (isRollX) {
630
649
  if (headerElem) {
@@ -637,7 +656,7 @@ export default {
637
656
  if (leftElem || rightElem) {
638
657
  $xetable.checkScrolling()
639
658
  if (isRollY) {
640
- syncBodyScroll(scrollTop, leftElem, rightElem)
659
+ syncBodyScroll($xetable, fixedType, scrollTop, leftElem, rightElem)
641
660
  }
642
661
  }
643
662
  }
@@ -689,15 +708,15 @@ export default {
689
708
  wheelYInterval = wheelYInterval - (wheelYTotal - wheelYSize)
690
709
  }
691
710
  const { scrollTop, clientHeight, scrollHeight } = bodyElem
692
- const targerTop = scrollTop + (wheelYInterval * (isTopWheel ? -1 : 1))
693
- bodyElem.scrollTop = targerTop
711
+ const targetTop = scrollTop + (wheelYInterval * (isTopWheel ? -1 : 1))
712
+ bodyElem.scrollTop = targetTop
694
713
  if (leftElem) {
695
- leftElem.scrollTop = targerTop
714
+ leftElem.scrollTop = targetTop
696
715
  }
697
716
  if (rightElem) {
698
- rightElem.scrollTop = targerTop
717
+ rightElem.scrollTop = targetTop
699
718
  }
700
- if (isTopWheel ? targerTop < scrollHeight - clientHeight : targerTop >= 0) {
719
+ if (isTopWheel ? targetTop < scrollHeight - clientHeight : targetTop >= 0) {
701
720
  this.wheelTime = setTimeout(handleSmooth, 10)
702
721
  }
703
722
  this.wheelYTotal = wheelYTotal
@@ -728,8 +747,8 @@ export default {
728
747
  const { tableBody } = $refs
729
748
  const bodyElem = tableBody.$el
730
749
 
731
- const deltaTop = browse.firefox ? deltaY * 40 : deltaY
732
- const deltaLeft = browse.firefox ? deltaX * 40 : deltaX
750
+ const deltaTop = deltaY
751
+ const deltaLeft = deltaX
733
752
  const isTopWheel = deltaTop < 0
734
753
  // 如果滚动位置已经是顶部或底部,则不需要触发
735
754
  if (isTopWheel ? scrollBodyElem.scrollTop <= 0 : scrollBodyElem.scrollTop >= scrollBodyElem.scrollHeight - scrollBodyElem.clientHeight) {
@@ -1,8 +1,9 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import VXETable from '../../v-x-e-table'
4
- import { UtilTools, DomTools } from '../../tools'
5
- import { eqEmptyValue, isEnableConf } from '../../tools/src/utils'
4
+ import DomTools from '../../tools/dom'
5
+ import UtilTools, { eqEmptyValue, isEnableConf, getFuncText } from '../../tools/utils'
6
+ import { getColumnConfig } from './util'
6
7
 
7
8
  function renderHelpIcon (h, params) {
8
9
  const { $table, column } = params
@@ -136,7 +137,7 @@ export const Cell = {
136
137
  renMaps.renderHeader = this.renderFilterHeader
137
138
  }
138
139
  }
139
- return UtilTools.getColumnConfig($xetable, _vm, renMaps)
140
+ return getColumnConfig($xetable, _vm, renMaps)
140
141
  },
141
142
  /**
142
143
  * 单元格
@@ -182,7 +183,7 @@ export const Cell = {
182
183
  // 如果设置占位符
183
184
  h('span', {
184
185
  class: 'vxe-cell--placeholder'
185
- }, UtilTools.formatText(UtilTools.getFuncText(cellPlaceholder), 1))
186
+ }, UtilTools.formatText(getFuncText(cellPlaceholder), 1))
186
187
  ] : UtilTools.formatText(cellValue, 1))
187
188
  ]
188
189
  },
@@ -1,5 +1,5 @@
1
1
  import Cell from '../../table/src/cell'
2
- import { UtilTools } from '../../tools'
2
+ import UtilTools from '../../tools/utils'
3
3
 
4
4
  const props = {
5
5
  // 列唯一主键
@@ -0,0 +1,148 @@
1
+ import XEUtils from 'xe-utils'
2
+ import GlobalConfig from '../../v-x-e-table/src/conf'
3
+ import { formats } from '../../v-x-e-table/src/formats'
4
+ import { toFilters } from './util'
5
+ import { getFuncText } from '../../tools/utils'
6
+ import { warnLog, errLog } from '../../tools/log'
7
+
8
+ export class ColumnInfo {
9
+ /* eslint-disable @typescript-eslint/no-use-before-define */
10
+ constructor ($xetable, _vm, { renderHeader, renderCell, renderFooter, renderData } = {}) {
11
+ const $xegrid = $xetable.$xegrid
12
+ const proxyOpts = $xegrid ? $xegrid.proxyOpts : null
13
+ const formatter = _vm.formatter
14
+ const visible = XEUtils.isBoolean(_vm.visible) ? _vm.visible : true
15
+
16
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
17
+ const types = ['seq', 'checkbox', 'radio', 'expand', 'html']
18
+ if (_vm.type && types.indexOf(_vm.type) === -1) {
19
+ warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')])
20
+ }
21
+ if (XEUtils.isBoolean(_vm.cellRender) || (_vm.cellRender && !XEUtils.isObject(_vm.cellRender))) {
22
+ warnLog('vxe.error.errProp', [`column.cell-render=${_vm.cellRender}`, 'column.cell-render={}'])
23
+ }
24
+ if (XEUtils.isBoolean(_vm.editRender) || (_vm.editRender && !XEUtils.isObject(_vm.editRender))) {
25
+ warnLog('vxe.error.errProp', [`column.edit-render=${_vm.editRender}`, 'column.edit-render={}'])
26
+ }
27
+ if (_vm.cellRender && _vm.editRender) {
28
+ warnLog('vxe.error.errConflicts', ['column.cell-render', 'column.edit-render'])
29
+ }
30
+ if (_vm.type === 'expand') {
31
+ if ($xetable.treeConfig && $xetable.treeOpts.line) {
32
+ errLog('vxe.error.errConflicts', ['tree-config.line', 'column.type=expand'])
33
+ }
34
+ }
35
+ if (_vm.remoteSort) {
36
+ warnLog('vxe.error.delProp', ['column.remote-sort', 'sort-config.remote'])
37
+ }
38
+ if (_vm.sortMethod) {
39
+ warnLog('vxe.error.delProp', ['column.sort-method', 'sort-config.sortMethod'])
40
+ }
41
+ if (formatter) {
42
+ if (XEUtils.isString(formatter)) {
43
+ const globalFunc = formats.get(formatter) || XEUtils[formatter]
44
+ if (!XEUtils.isFunction(globalFunc)) {
45
+ errLog('vxe.error.notFunc', [formatter])
46
+ }
47
+ } else if (XEUtils.isArray(formatter)) {
48
+ const globalFunc = formats.get(formatter[0]) || XEUtils[formatter[0]]
49
+ if (!XEUtils.isFunction(globalFunc)) {
50
+ errLog('vxe.error.notFunc', [formatter[0]])
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+ Object.assign(this, {
57
+ // 基本属性
58
+ type: _vm.type,
59
+ property: _vm.field,
60
+ field: _vm.field,
61
+ title: _vm.title,
62
+ width: _vm.width,
63
+ minWidth: _vm.minWidth,
64
+ resizable: _vm.resizable,
65
+ fixed: _vm.fixed,
66
+ align: _vm.align,
67
+ headerAlign: _vm.headerAlign,
68
+ footerAlign: _vm.footerAlign,
69
+ showOverflow: _vm.showOverflow,
70
+ showHeaderOverflow: _vm.showHeaderOverflow,
71
+ showFooterOverflow: _vm.showFooterOverflow,
72
+ className: _vm.className,
73
+ headerClassName: _vm.headerClassName,
74
+ footerClassName: _vm.footerClassName,
75
+ formatter: formatter,
76
+ sortable: _vm.sortable,
77
+ sortBy: _vm.sortBy,
78
+ sortType: _vm.sortType,
79
+ sortMethod: _vm.sortMethod,
80
+ remoteSort: _vm.remoteSort,
81
+ filters: toFilters(_vm.filters),
82
+ filterMultiple: XEUtils.isBoolean(_vm.filterMultiple) ? _vm.filterMultiple : true,
83
+ filterMethod: _vm.filterMethod,
84
+ filterResetMethod: _vm.filterResetMethod,
85
+ filterRecoverMethod: _vm.filterRecoverMethod,
86
+ filterRender: _vm.filterRender,
87
+ treeNode: _vm.treeNode,
88
+ cellType: _vm.cellType,
89
+ cellRender: _vm.cellRender,
90
+ editRender: _vm.editRender,
91
+ contentRender: _vm.contentRender,
92
+ exportMethod: _vm.exportMethod,
93
+ footerExportMethod: _vm.footerExportMethod,
94
+ titleHelp: _vm.titleHelp,
95
+ // 自定义参数
96
+ params: _vm.params,
97
+ // 渲染属性
98
+ id: _vm.colId || XEUtils.uniqueId('col_'),
99
+ parentId: null,
100
+ visible,
101
+ // 内部属性(一旦被使用,将导致不可升级版本)
102
+ halfVisible: false,
103
+ defaultVisible: visible,
104
+ checked: false,
105
+ halfChecked: false,
106
+ disabled: false,
107
+ level: 1,
108
+ rowSpan: 1,
109
+ colSpan: 1,
110
+ order: null,
111
+ sortTime: 0,
112
+ renderWidth: 0,
113
+ renderHeight: 0,
114
+ resizeWidth: 0,
115
+ renderLeft: 0,
116
+ renderArgs: [], // 渲染参数可用于扩展
117
+ model: {},
118
+ renderHeader: renderHeader || _vm.renderHeader,
119
+ renderCell: renderCell || _vm.renderCell,
120
+ renderFooter: renderFooter || _vm.renderFooter,
121
+ renderData: renderData,
122
+ // 单元格插槽,只对 grid 有效
123
+ slots: _vm.slots
124
+ })
125
+ if (proxyOpts && proxyOpts.beforeColumn) {
126
+ proxyOpts.beforeColumn({ $grid: $xegrid, column: this })
127
+ }
128
+ }
129
+
130
+ getTitle () {
131
+ return getFuncText(this.title || (this.type === 'seq' ? GlobalConfig.i18n('vxe.table.seqTitle') : ''))
132
+ }
133
+
134
+ getKey () {
135
+ return this.property || (this.type ? `type=${this.type}` : null)
136
+ }
137
+
138
+ update (name, value) {
139
+ // 不支持双向的属性
140
+ if (name !== 'filters') {
141
+ if (name === 'field') {
142
+ // 兼容旧属性
143
+ this.property = value
144
+ }
145
+ this[name] = value
146
+ }
147
+ }
148
+ }