vxe-table 4.12.0-beta.9 → 4.12.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 (185) hide show
  1. package/es/grid/src/grid.js +45 -36
  2. package/es/locale/lang/ar-EG.js +7 -1
  3. package/es/locale/lang/de-DE.js +7 -1
  4. package/es/locale/lang/en-US.js +7 -1
  5. package/es/locale/lang/es-ES.js +7 -1
  6. package/es/locale/lang/fr-FR.js +7 -1
  7. package/es/locale/lang/hu-HU.js +7 -1
  8. package/es/locale/lang/hy-AM.js +7 -1
  9. package/es/locale/lang/id-ID.js +7 -1
  10. package/es/locale/lang/it-IT.js +7 -1
  11. package/es/locale/lang/ja-JP.js +7 -1
  12. package/es/locale/lang/ko-KR.js +7 -1
  13. package/es/locale/lang/nb-NO.js +7 -1
  14. package/es/locale/lang/pt-BR.js +7 -1
  15. package/es/locale/lang/ru-RU.js +7 -1
  16. package/es/locale/lang/th-TH.js +7 -1
  17. package/es/locale/lang/ug-CN.js +7 -1
  18. package/es/locale/lang/uk-UA.js +7 -1
  19. package/es/locale/lang/vi-VN.js +7 -1
  20. package/es/locale/lang/zh-CHT.js +7 -1
  21. package/es/locale/lang/zh-CN.js +7 -1
  22. package/es/style.css +1 -1
  23. package/es/table/module/custom/hook.js +1 -1
  24. package/es/table/module/custom/panel.js +4 -2
  25. package/es/table/module/edit/hook.js +11 -12
  26. package/es/table/module/export/export-panel.js +3 -2
  27. package/es/table/module/export/import-panel.js +3 -2
  28. package/es/table/module/filter/panel.js +12 -2
  29. package/es/table/module/keyboard/hook.js +105 -30
  30. package/es/table/module/menu/hook.js +2 -1
  31. package/es/table/module/validator/hook.js +4 -3
  32. package/es/table/render/index.js +3 -3
  33. package/es/table/src/body.js +40 -21
  34. package/es/table/src/cell.js +43 -24
  35. package/es/table/src/columnInfo.js +2 -2
  36. package/es/table/src/footer.js +12 -7
  37. package/es/table/src/header.js +12 -7
  38. package/es/table/src/props.js +4 -0
  39. package/es/table/src/table.js +435 -420
  40. package/es/table/src/util.js +34 -6
  41. package/es/ui/index.js +2 -1
  42. package/es/ui/src/log.js +1 -1
  43. package/helper/vetur/attributes.json +1 -1
  44. package/helper/vetur/tags.json +1 -1
  45. package/lib/grid/src/grid.js +42 -40
  46. package/lib/grid/src/grid.min.js +1 -1
  47. package/lib/index.umd.js +500 -292
  48. package/lib/index.umd.min.js +1 -1
  49. package/lib/locale/lang/ar-EG.js +7 -1
  50. package/lib/locale/lang/ar-EG.min.js +1 -1
  51. package/lib/locale/lang/de-DE.js +7 -1
  52. package/lib/locale/lang/de-DE.min.js +1 -1
  53. package/lib/locale/lang/en-US.js +7 -1
  54. package/lib/locale/lang/en-US.min.js +1 -1
  55. package/lib/locale/lang/en-US.umd.js +7 -1
  56. package/lib/locale/lang/es-ES.js +7 -1
  57. package/lib/locale/lang/es-ES.min.js +1 -1
  58. package/lib/locale/lang/es-ES.umd.js +7 -1
  59. package/lib/locale/lang/fr-FR.js +7 -1
  60. package/lib/locale/lang/fr-FR.min.js +1 -1
  61. package/lib/locale/lang/hu-HU.js +7 -1
  62. package/lib/locale/lang/hu-HU.min.js +1 -1
  63. package/lib/locale/lang/hu-HU.umd.js +7 -1
  64. package/lib/locale/lang/hy-AM.js +7 -1
  65. package/lib/locale/lang/hy-AM.min.js +1 -1
  66. package/lib/locale/lang/id-ID.js +7 -1
  67. package/lib/locale/lang/id-ID.min.js +1 -1
  68. package/lib/locale/lang/it-IT.js +7 -1
  69. package/lib/locale/lang/it-IT.min.js +1 -1
  70. package/lib/locale/lang/ja-JP.js +7 -1
  71. package/lib/locale/lang/ja-JP.min.js +1 -1
  72. package/lib/locale/lang/ja-JP.umd.js +7 -1
  73. package/lib/locale/lang/ko-KR.js +7 -1
  74. package/lib/locale/lang/ko-KR.min.js +1 -1
  75. package/lib/locale/lang/ko-KR.umd.js +7 -1
  76. package/lib/locale/lang/nb-NO.js +7 -1
  77. package/lib/locale/lang/nb-NO.min.js +1 -1
  78. package/lib/locale/lang/pt-BR.js +7 -1
  79. package/lib/locale/lang/pt-BR.min.js +1 -1
  80. package/lib/locale/lang/pt-BR.umd.js +7 -1
  81. package/lib/locale/lang/ru-RU.js +7 -1
  82. package/lib/locale/lang/ru-RU.min.js +1 -1
  83. package/lib/locale/lang/ru-RU.umd.js +7 -1
  84. package/lib/locale/lang/th-TH.js +7 -1
  85. package/lib/locale/lang/th-TH.min.js +1 -1
  86. package/lib/locale/lang/ug-CN.js +7 -1
  87. package/lib/locale/lang/ug-CN.min.js +1 -1
  88. package/lib/locale/lang/uk-UA.js +7 -1
  89. package/lib/locale/lang/uk-UA.min.js +1 -1
  90. package/lib/locale/lang/uk-UA.umd.js +7 -1
  91. package/lib/locale/lang/vi-VN.js +7 -1
  92. package/lib/locale/lang/vi-VN.min.js +1 -1
  93. package/lib/locale/lang/zh-CHT.js +7 -1
  94. package/lib/locale/lang/zh-CHT.min.js +1 -1
  95. package/lib/locale/lang/zh-CN.js +7 -1
  96. package/lib/locale/lang/zh-CN.min.js +1 -1
  97. package/lib/locale/lang/zh-CN.umd.js +7 -1
  98. package/lib/style.css +1 -1
  99. package/lib/table/module/custom/hook.js +1 -1
  100. package/lib/table/module/custom/hook.min.js +1 -1
  101. package/lib/table/module/custom/panel.js +4 -2
  102. package/lib/table/module/custom/panel.min.js +1 -1
  103. package/lib/table/module/edit/hook.js +13 -13
  104. package/lib/table/module/edit/hook.min.js +1 -1
  105. package/lib/table/module/export/export-panel.js +3 -2
  106. package/lib/table/module/export/export-panel.min.js +1 -1
  107. package/lib/table/module/export/import-panel.js +3 -2
  108. package/lib/table/module/export/import-panel.min.js +1 -1
  109. package/lib/table/module/filter/panel.js +8 -2
  110. package/lib/table/module/filter/panel.min.js +1 -1
  111. package/lib/table/module/keyboard/hook.js +113 -31
  112. package/lib/table/module/keyboard/hook.min.js +1 -1
  113. package/lib/table/module/menu/hook.js +2 -1
  114. package/lib/table/module/menu/hook.min.js +1 -1
  115. package/lib/table/module/validator/hook.js +5 -4
  116. package/lib/table/module/validator/hook.min.js +1 -1
  117. package/lib/table/render/index.js +4 -3
  118. package/lib/table/render/index.min.js +1 -1
  119. package/lib/table/src/body.js +48 -20
  120. package/lib/table/src/body.min.js +1 -1
  121. package/lib/table/src/cell.js +49 -25
  122. package/lib/table/src/cell.min.js +1 -1
  123. package/lib/table/src/columnInfo.js +2 -4
  124. package/lib/table/src/columnInfo.min.js +1 -1
  125. package/lib/table/src/footer.js +12 -5
  126. package/lib/table/src/footer.min.js +1 -1
  127. package/lib/table/src/header.js +12 -5
  128. package/lib/table/src/header.min.js +1 -1
  129. package/lib/table/src/props.js +4 -0
  130. package/lib/table/src/props.min.js +1 -1
  131. package/lib/table/src/table.js +523 -456
  132. package/lib/table/src/table.min.js +1 -1
  133. package/lib/table/src/util.js +36 -6
  134. package/lib/table/src/util.min.js +1 -1
  135. package/lib/ui/index.js +2 -1
  136. package/lib/ui/index.min.js +1 -1
  137. package/lib/ui/src/log.js +1 -1
  138. package/lib/ui/src/log.min.js +1 -1
  139. package/package.json +2 -2
  140. package/packages/grid/src/grid.ts +49 -42
  141. package/packages/locale/lang/ar-EG.ts +7 -1
  142. package/packages/locale/lang/de-DE.ts +7 -1
  143. package/packages/locale/lang/en-US.ts +7 -1
  144. package/packages/locale/lang/es-ES.ts +7 -1
  145. package/packages/locale/lang/fr-FR.ts +7 -1
  146. package/packages/locale/lang/hu-HU.ts +7 -1
  147. package/packages/locale/lang/hy-AM.ts +7 -1
  148. package/packages/locale/lang/id-ID.ts +7 -1
  149. package/packages/locale/lang/it-IT.ts +7 -1
  150. package/packages/locale/lang/ja-JP.ts +7 -1
  151. package/packages/locale/lang/ko-KR.ts +7 -1
  152. package/packages/locale/lang/nb-NO.ts +7 -1
  153. package/packages/locale/lang/pt-BR.ts +7 -1
  154. package/packages/locale/lang/ru-RU.ts +7 -1
  155. package/packages/locale/lang/th-TH.ts +7 -1
  156. package/packages/locale/lang/ug-CN.ts +7 -1
  157. package/packages/locale/lang/uk-UA.ts +7 -1
  158. package/packages/locale/lang/vi-VN.ts +7 -1
  159. package/packages/locale/lang/zh-CHT.ts +7 -1
  160. package/packages/locale/lang/zh-CN.ts +7 -1
  161. package/packages/table/module/custom/hook.ts +1 -1
  162. package/packages/table/module/custom/panel.ts +6 -2
  163. package/packages/table/module/edit/hook.ts +12 -12
  164. package/packages/table/module/export/export-panel.ts +4 -2
  165. package/packages/table/module/export/import-panel.ts +4 -2
  166. package/packages/table/module/filter/panel.ts +12 -2
  167. package/packages/table/module/keyboard/hook.ts +106 -32
  168. package/packages/table/module/menu/hook.ts +3 -1
  169. package/packages/table/module/validator/hook.ts +5 -3
  170. package/packages/table/render/index.ts +3 -4
  171. package/packages/table/src/body.ts +41 -21
  172. package/packages/table/src/cell.ts +43 -24
  173. package/packages/table/src/columnInfo.ts +3 -2
  174. package/packages/table/src/footer.ts +13 -7
  175. package/packages/table/src/header.ts +13 -7
  176. package/packages/table/src/props.ts +4 -0
  177. package/packages/table/src/table.ts +441 -418
  178. package/packages/table/src/util.ts +39 -6
  179. package/packages/ui/index.ts +1 -0
  180. /package/es/{iconfont.1741337003908.ttf → iconfont.1742955995631.ttf} +0 -0
  181. /package/es/{iconfont.1741337003908.woff → iconfont.1742955995631.woff} +0 -0
  182. /package/es/{iconfont.1741337003908.woff2 → iconfont.1742955995631.woff2} +0 -0
  183. /package/lib/{iconfont.1741337003908.ttf → iconfont.1742955995631.ttf} +0 -0
  184. /package/lib/{iconfont.1741337003908.woff → iconfont.1742955995631.woff} +0 -0
  185. /package/lib/{iconfont.1741337003908.woff2 → iconfont.1742955995631.woff2} +0 -0
@@ -201,15 +201,27 @@ function getFooterContent(params) {
201
201
  });
202
202
  if (footerFormatter) {
203
203
  if (XEUtils.isFunction(footerFormatter)) {
204
- return `${footerFormatter(footParams)}`;
204
+ return [
205
+ h('span', {
206
+ class: 'vxe-cell--label'
207
+ }, `${footerFormatter(footParams)}`)
208
+ ];
205
209
  }
206
210
  const isArr = XEUtils.isArray(footerFormatter);
207
211
  const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
208
212
  const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
209
213
  if (footerFormatMethod) {
210
- return `${isArr ? footerFormatMethod(footParams, ...footerFormatter.slice(1)) : footerFormatMethod(footParams)}`;
214
+ return [
215
+ h('span', {
216
+ class: 'vxe-cell--label'
217
+ }, `${isArr ? footerFormatMethod(footParams, ...footerFormatter.slice(1)) : footerFormatMethod(footParams)}`)
218
+ ];
211
219
  }
212
- return '';
220
+ return [
221
+ h('span', {
222
+ class: 'vxe-cell--label'
223
+ }, '')
224
+ ];
213
225
  }
214
226
  if (renderOpts) {
215
227
  const compConf = renderer.get(renderOpts.name);
@@ -221,7 +233,9 @@ function getFooterContent(params) {
221
233
  }
222
234
  }
223
235
  return [
224
- formatText(itemValue, 1)
236
+ h('span', {
237
+ class: 'vxe-cell--label'
238
+ }, formatText(itemValue, 1))
225
239
  ];
226
240
  }
227
241
  function getDefaultCellLabel(params) {
@@ -380,8 +394,8 @@ export const Cell = {
380
394
  const tableReactData = $table.reactData;
381
395
  const tableInternalData = $table.internalData;
382
396
  const { computeTreeOpts } = $table.getComputeMaps();
383
- const { treeExpandedMaps, treeExpandLazyLoadedMaps } = tableReactData;
384
- const { fullAllDataRowIdData } = tableInternalData;
397
+ const { treeExpandedFlag } = tableReactData;
398
+ const { fullAllDataRowIdData, treeExpandedMaps, treeExpandLazyLoadedMaps } = tableInternalData;
385
399
  const treeOpts = computeTreeOpts.value;
386
400
  const { row, column, level } = params;
387
401
  const { slots } = column;
@@ -401,7 +415,7 @@ export const Cell = {
401
415
  }
402
416
  if (!isHidden) {
403
417
  const rowid = getRowid($table, row);
404
- isActive = !!treeExpandedMaps[rowid];
418
+ isActive = !!treeExpandedFlag && !!treeExpandedMaps[rowid];
405
419
  if (lazy) {
406
420
  const rest = fullAllDataRowIdData[rowid];
407
421
  isLazyLoading = !!treeExpandLazyLoadedMaps[rowid];
@@ -548,7 +562,8 @@ export const Cell = {
548
562
  const headerSlot = slots ? slots.header : null;
549
563
  const titleSlot = slots ? slots.title : null;
550
564
  const checkboxOpts = computeCheckboxOpts.value;
551
- const headerTitle = column.getTitle();
565
+ const { checkStrictly, showHeader, headerTitle } = checkboxOpts;
566
+ const colTitle = column.getTitle();
552
567
  const ons = {};
553
568
  if (!isHidden) {
554
569
  ons.onClick = (evnt) => {
@@ -561,11 +576,11 @@ export const Cell = {
561
576
  if (headerSlot) {
562
577
  return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, $table.callSlot(headerSlot, checkboxParams)));
563
578
  }
564
- if (checkboxOpts.checkStrictly ? !checkboxOpts.showHeader : checkboxOpts.showHeader === false) {
579
+ if (checkStrictly ? !showHeader : showHeader === false) {
565
580
  return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, [
566
581
  h('span', {
567
582
  class: 'vxe-checkbox--label'
568
- }, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : headerTitle)
583
+ }, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : colTitle)
569
584
  ]));
570
585
  }
571
586
  return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, [
@@ -573,15 +588,15 @@ export const Cell = {
573
588
  'is--checked': isAllCheckboxSelected,
574
589
  'is--disabled': isAllCheckboxDisabled,
575
590
  'is--indeterminate': isAllCheckboxIndeterminate
576
- }], title: getI18n('vxe.table.allTitle') }, ons), [
591
+ }], title: XEUtils.eqNull(headerTitle) ? getI18n('vxe.table.allTitle') : `${headerTitle || ''}` }, ons), [
577
592
  h('span', {
578
593
  class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllCheckboxSelected ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
579
594
  })
580
- ].concat(titleSlot || headerTitle
595
+ ].concat(titleSlot || colTitle
581
596
  ? [
582
597
  h('span', {
583
598
  class: 'vxe-checkbox--label'
584
- }, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : headerTitle)
599
+ }, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : colTitle)
585
600
  ]
586
601
  : []))
587
602
  ]));
@@ -590,8 +605,10 @@ export const Cell = {
590
605
  const { $table, row, column, isHidden } = params;
591
606
  const tableProps = $table.props;
592
607
  const tableReactData = $table.reactData;
608
+ const tableInternalData = $table.internalData;
593
609
  const { treeConfig } = tableProps;
594
- const { selectCheckboxMaps, treeIndeterminateMaps } = tableReactData;
610
+ const { updateCheckboxFlag } = tableReactData;
611
+ const { selectCheckboxMaps, treeIndeterminateRowMaps } = tableInternalData;
595
612
  const { computeCheckboxOpts } = $table.getComputeMaps();
596
613
  const checkboxOpts = computeCheckboxOpts.value;
597
614
  const { labelField, checkMethod, visibleMethod } = checkboxOpts;
@@ -605,7 +622,7 @@ export const Cell = {
605
622
  const ons = {};
606
623
  if (!isHidden) {
607
624
  const rowid = getRowid($table, row);
608
- isChecked = !!selectCheckboxMaps[rowid];
625
+ isChecked = !!updateCheckboxFlag && !!selectCheckboxMaps[rowid];
609
626
  ons.onClick = (evnt) => {
610
627
  if (!isDisabled && isVisible) {
611
628
  $table.triggerCheckRowEvent(evnt, params, !isChecked);
@@ -615,7 +632,7 @@ export const Cell = {
615
632
  isDisabled = !checkMethod({ row });
616
633
  }
617
634
  if (treeConfig) {
618
- indeterminate = !!treeIndeterminateMaps[rowid];
635
+ indeterminate = !!treeIndeterminateRowMaps[rowid];
619
636
  }
620
637
  }
621
638
  const checkboxParams = Object.assign(Object.assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate });
@@ -649,8 +666,10 @@ export const Cell = {
649
666
  const { $table, row, column, isHidden } = params;
650
667
  const tableProps = $table.props;
651
668
  const tableReactData = $table.reactData;
669
+ const tableInternalData = $table.internalData;
652
670
  const { treeConfig } = tableProps;
653
- const { treeIndeterminateMaps } = tableReactData;
671
+ const { updateCheckboxFlag } = tableReactData;
672
+ const { treeIndeterminateRowMaps } = tableInternalData;
654
673
  const { computeCheckboxOpts } = $table.getComputeMaps();
655
674
  const checkboxOpts = computeCheckboxOpts.value;
656
675
  const { labelField, checkField, checkMethod, visibleMethod } = checkboxOpts;
@@ -665,7 +684,7 @@ export const Cell = {
665
684
  const ons = {};
666
685
  if (!isHidden) {
667
686
  const rowid = getRowid($table, row);
668
- isChecked = XEUtils.get(row, checkField);
687
+ isChecked = !!updateCheckboxFlag && XEUtils.get(row, checkField);
669
688
  ons.onClick = (evnt) => {
670
689
  if (!isDisabled && isVisible) {
671
690
  $table.triggerCheckRowEvent(evnt, params, !isChecked);
@@ -675,7 +694,7 @@ export const Cell = {
675
694
  isDisabled = !checkMethod({ row });
676
695
  }
677
696
  if (treeConfig) {
678
- isIndeterminate = !!treeIndeterminateMaps[rowid];
697
+ isIndeterminate = !!treeIndeterminateRowMaps[rowid];
679
698
  }
680
699
  }
681
700
  const checkboxParams = Object.assign(Object.assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate: isIndeterminate });
@@ -710,8 +729,8 @@ export const Cell = {
710
729
  */
711
730
  renderExpandCell(params) {
712
731
  const { $table, isHidden, row, column } = params;
713
- const tableReactData = $table.reactData;
714
- const { rowExpandedMaps, rowExpandLazyLoadedMaps } = tableReactData;
732
+ const tableInternalData = $table.internalData;
733
+ const { rowExpandedMaps, rowExpandLazyLoadedMaps } = tableInternalData;
715
734
  const { computeExpandOpts } = $table.getComputeMaps();
716
735
  const expandOpts = computeExpandOpts.value;
717
736
  const { lazy, labelField, iconLoaded, showIcon, iconOpen, iconClose, visibleMethod } = expandOpts;
@@ -809,7 +828,7 @@ export const Cell = {
809
828
  const { $table, column } = params;
810
829
  const { computeSortOpts } = $table.getComputeMaps();
811
830
  const sortOpts = computeSortOpts.value;
812
- const { showIcon, allowBtn, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts;
831
+ const { showIcon, allowBtn, ascTitle, descTitle, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts;
813
832
  const { order } = column;
814
833
  if (showIcon && (!iconVisibleMethod || iconVisibleMethod(params))) {
815
834
  return [
@@ -820,7 +839,7 @@ export const Cell = {
820
839
  class: ['vxe-sort--asc-btn', iconAsc || getIcon().TABLE_SORT_ASC, {
821
840
  'sort--active': order === 'asc'
822
841
  }],
823
- title: getI18n('vxe.table.sortAsc'),
842
+ title: XEUtils.eqNull(ascTitle) ? getI18n('vxe.table.sortAsc') : `${ascTitle || ''}`,
824
843
  onClick: allowBtn
825
844
  ? (evnt) => {
826
845
  evnt.stopPropagation();
@@ -832,7 +851,7 @@ export const Cell = {
832
851
  class: ['vxe-sort--desc-btn', iconDesc || getIcon().TABLE_SORT_DESC, {
833
852
  'sort--active': order === 'desc'
834
853
  }],
835
- title: getI18n('vxe.table.sortDesc'),
854
+ title: XEUtils.eqNull(descTitle) ? getI18n('vxe.table.sortDesc') : `${descTitle || ''}`,
836
855
  onClick: allowBtn
837
856
  ? (evnt) => {
838
857
  evnt.stopPropagation();
@@ -7,10 +7,10 @@ const { getI18n, formats } = VxeUI;
7
7
  export class ColumnInfo {
8
8
  /* eslint-disable @typescript-eslint/no-use-before-define */
9
9
  constructor($xeTable, _vm, { renderHeader, renderCell, renderFooter, renderData } = {}) {
10
- const $xeGrid = $xeTable.xegrid;
10
+ const tableProps = $xeTable.props;
11
+ const $xeGrid = $xeTable.xeGrid;
11
12
  const formatter = _vm.formatter;
12
13
  const visible = XEUtils.isBoolean(_vm.visible) ? _vm.visible : true;
13
- const { props: tableProps } = $xeTable;
14
14
  const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
15
15
  if (_vm.type && types.indexOf(_vm.type) === -1) {
16
16
  warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
@@ -49,10 +49,11 @@ export default defineComponent({
49
49
  const refFooterTFoot = ref();
50
50
  const refFooterXSpace = ref();
51
51
  const renderRows = (tableColumn, footerTableData, row, $rowIndex, _rowIndex) => {
52
+ const $xeGrid = $xeTable.xeGrid;
52
53
  const { fixedType } = props;
53
54
  const { resizable: allResizable, border, footerCellClassName, footerCellStyle, footerAlign: allFooterAlign, footerSpanMethod, align: allAlign, columnKey, showFooterOverflow: allColumnFooterOverflow } = tableProps;
54
55
  const { scrollXLoad, scrollYLoad, overflowX, currentColumn, mergeFooterList } = tableReactData;
55
- const { scrollXStore } = tableInternalData;
56
+ const { fullColumnIdData, scrollXStore } = tableInternalData;
56
57
  const tooltipOpts = computeTooltipOpts.value;
57
58
  const resizableOpts = computeResizableOpts.value;
58
59
  const { isAllColumnDrag } = resizableOpts;
@@ -64,6 +65,7 @@ export default defineComponent({
64
65
  return tableColumn.map((column, $columnIndex) => {
65
66
  const { type, showFooterOverflow, footerAlign, align, footerClassName, editRender, cellRender } = column;
66
67
  const colid = column.id;
68
+ const colRest = fullColumnIdData[colid] || {};
67
69
  const renderOpts = editRender || cellRender;
68
70
  const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
69
71
  const showAllTip = tooltipOpts.showAll;
@@ -79,12 +81,12 @@ export default defineComponent({
79
81
  const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
80
82
  const attrs = { colid };
81
83
  const tfOns = {};
82
- const columnIndex = $xeTable.getColumnIndex(column);
83
- const _columnIndex = $xeTable.getVTColumnIndex(column);
84
+ const columnIndex = colRest.index;
85
+ const _columnIndex = colRest._index;
84
86
  const itemIndex = _columnIndex;
85
87
  const cellParams = {
86
88
  $table: $xeTable,
87
- $grid: $xeTable.xegrid,
89
+ $grid: $xeGrid,
88
90
  row,
89
91
  rowIndex: _rowIndex,
90
92
  _rowIndex,
@@ -250,7 +252,7 @@ export default defineComponent({
250
252
  const { fixedType, fixedColumn, tableColumn } = props;
251
253
  const { spanMethod, footerSpanMethod, showFooterOverflow: allColumnFooterOverflow } = tableProps;
252
254
  const { visibleColumn, fullColumnIdData } = tableInternalData;
253
- const { isGroup, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
255
+ const { isGroup, isColLoading, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
254
256
  let renderColumnList = tableColumn;
255
257
  let isOptimizeMode = false;
256
258
  // 如果是使用优化模式
@@ -262,7 +264,7 @@ export default defineComponent({
262
264
  isOptimizeMode = true;
263
265
  }
264
266
  }
265
- if (fixedType || !overflowX) {
267
+ if (!isColLoading && (fixedType || !overflowX)) {
266
268
  renderColumnList = visibleColumn;
267
269
  }
268
270
  if (fixedType) {
@@ -329,7 +331,10 @@ export default defineComponent({
329
331
  }, renderColumnList.map((column, $columnIndex) => {
330
332
  return h('col', {
331
333
  name: column.id,
332
- key: $columnIndex
334
+ key: $columnIndex,
335
+ style: {
336
+ width: `${column.renderWidth}px`
337
+ }
333
338
  });
334
339
  })),
335
340
  /**
@@ -33,10 +33,11 @@ export default defineComponent({
33
33
  headerColumn.value = isGroup ? convertHeaderColumnToRows(props.tableGroupColumn) : [];
34
34
  };
35
35
  const renderRows = (isGroup, isOptimizeMode, cols, $rowIndex) => {
36
+ const $xeGrid = $xeTable.xeGrid;
36
37
  const { fixedType } = props;
37
38
  const { resizable: allResizable, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
38
39
  const { currentColumn, dragCol, scrollXLoad, scrollYLoad, overflowX } = tableReactData;
39
- const { scrollXStore } = tableInternalData;
40
+ const { fullColumnIdData, scrollXStore } = tableInternalData;
40
41
  const columnOpts = computeColumnOpts.value;
41
42
  const columnDragOpts = computeColumnDragOpts.value;
42
43
  const cellOpts = computeCellOpts.value;
@@ -47,6 +48,7 @@ export default defineComponent({
47
48
  return cols.map((column, $columnIndex) => {
48
49
  const { type, showHeaderOverflow, headerAlign, align, filters, headerClassName, editRender, cellRender } = column;
49
50
  const colid = column.id;
51
+ const colRest = fullColumnIdData[colid] || {};
50
52
  const renderOpts = editRender || cellRender;
51
53
  const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
52
54
  const isColGroup = column.children && column.children.length;
@@ -64,9 +66,9 @@ export default defineComponent({
64
66
  firstFilterOption = filters[0];
65
67
  hasFilter = filters.some((item) => item.checked);
66
68
  }
67
- const columnIndex = $xeTable.getColumnIndex(column);
68
- const _columnIndex = $xeTable.getVTColumnIndex(column);
69
- const cellParams = { $table: $xeTable, $grid: $xeTable.xegrid, $rowIndex, column, columnIndex, $columnIndex, _columnIndex, firstFilterOption, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, hasFilter };
69
+ const columnIndex = colRest.index;
70
+ const _columnIndex = colRest._index;
71
+ const cellParams = { $table: $xeTable, $grid: $xeGrid, $rowIndex, column, columnIndex, $columnIndex, _columnIndex, firstFilterOption, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, hasFilter };
70
72
  const thAttrs = {
71
73
  colid,
72
74
  colspan: column.colSpan > 1 ? column.colSpan : null,
@@ -199,7 +201,7 @@ export default defineComponent({
199
201
  const renderVN = () => {
200
202
  const { fixedType, fixedColumn, tableColumn } = props;
201
203
  const { mouseConfig, showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps;
202
- const { isGroup, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
204
+ const { isGroup, isColLoading, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
203
205
  const { visibleColumn, fullColumnIdData } = tableInternalData;
204
206
  const mouseOpts = computeMouseOpts.value;
205
207
  let renderHeaderList = headerColumn.value;
@@ -218,7 +220,7 @@ export default defineComponent({
218
220
  isOptimizeMode = true;
219
221
  }
220
222
  }
221
- if (fixedType || !overflowX) {
223
+ if (!isColLoading && (fixedType || !overflowX)) {
222
224
  renderColumnList = visibleColumn;
223
225
  }
224
226
  if (fixedType) {
@@ -290,7 +292,10 @@ export default defineComponent({
290
292
  }, renderColumnList.map((column, $columnIndex) => {
291
293
  return h('col', {
292
294
  name: column.id,
293
- key: $columnIndex
295
+ key: $columnIndex,
296
+ style: {
297
+ width: `${column.renderWidth}px`
298
+ }
294
299
  });
295
300
  })),
296
301
  /**
@@ -182,6 +182,8 @@ export default {
182
182
  resizeConfig: Object,
183
183
  // 列配置信息
184
184
  columnConfig: Object,
185
+ // 当前列配置信息
186
+ currentColumnConfig: Object,
185
187
  // 单元格配置信息
186
188
  cellConfig: Object,
187
189
  // 表头单元格配置信息
@@ -190,6 +192,8 @@ export default {
190
192
  footerCellConfig: Object,
191
193
  // 行配置信息
192
194
  rowConfig: Object,
195
+ // 当前行配置信息
196
+ currentRowConfig: Object,
193
197
  // 已废弃,被 rowDragConfig 替换
194
198
  dragConfig: Object,
195
199
  // 行拖拽排序配置项