vxe-table 4.7.83 → 4.7.85

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 (99) hide show
  1. package/es/grid/src/grid.js +5 -5
  2. package/es/locale/lang/en-US.js +2 -1
  3. package/es/locale/lang/es-ES.js +2 -1
  4. package/es/locale/lang/hu-HU.js +2 -1
  5. package/es/locale/lang/ja-JP.js +2 -1
  6. package/es/locale/lang/ko-KR.js +2 -1
  7. package/es/locale/lang/pt-BR.js +2 -1
  8. package/es/locale/lang/ru-RU.js +2 -1
  9. package/es/locale/lang/uk-UA.js +2 -1
  10. package/es/locale/lang/vi-VN.js +2 -1
  11. package/es/locale/lang/zh-CHT.js +2 -1
  12. package/es/locale/lang/zh-CN.js +2 -1
  13. package/es/style.css +1 -1
  14. package/es/style.min.css +1 -1
  15. package/es/table/render/index.js +10 -0
  16. package/es/table/src/table.js +255 -261
  17. package/es/table/style.css +1 -1
  18. package/es/table/style.min.css +1 -1
  19. package/es/toolbar/src/toolbar.js +6 -6
  20. package/es/ui/index.js +2 -2
  21. package/es/ui/src/log.js +1 -1
  22. package/es/vxe-table/style.css +1 -1
  23. package/es/vxe-table/style.min.css +1 -1
  24. package/helper/vetur/attributes.json +1 -1
  25. package/helper/vetur/tags.json +1 -1
  26. package/lib/grid/src/grid.js +5 -5
  27. package/lib/grid/src/grid.min.js +1 -1
  28. package/lib/index.umd.js +294 -282
  29. package/lib/index.umd.min.js +1 -1
  30. package/lib/locale/lang/en-US.js +2 -1
  31. package/lib/locale/lang/en-US.min.js +1 -1
  32. package/lib/locale/lang/en-US.umd.js +2 -1
  33. package/lib/locale/lang/es-ES.js +2 -1
  34. package/lib/locale/lang/es-ES.min.js +1 -1
  35. package/lib/locale/lang/es-ES.umd.js +2 -1
  36. package/lib/locale/lang/hu-HU.js +2 -1
  37. package/lib/locale/lang/hu-HU.min.js +1 -1
  38. package/lib/locale/lang/hu-HU.umd.js +2 -1
  39. package/lib/locale/lang/ja-JP.js +2 -1
  40. package/lib/locale/lang/ja-JP.min.js +1 -1
  41. package/lib/locale/lang/ja-JP.umd.js +2 -1
  42. package/lib/locale/lang/ko-KR.js +2 -1
  43. package/lib/locale/lang/ko-KR.min.js +1 -1
  44. package/lib/locale/lang/ko-KR.umd.js +2 -1
  45. package/lib/locale/lang/pt-BR.js +2 -1
  46. package/lib/locale/lang/pt-BR.min.js +1 -1
  47. package/lib/locale/lang/pt-BR.umd.js +2 -1
  48. package/lib/locale/lang/ru-RU.js +2 -1
  49. package/lib/locale/lang/ru-RU.min.js +1 -1
  50. package/lib/locale/lang/ru-RU.umd.js +2 -1
  51. package/lib/locale/lang/uk-UA.js +2 -1
  52. package/lib/locale/lang/uk-UA.min.js +1 -1
  53. package/lib/locale/lang/uk-UA.umd.js +2 -1
  54. package/lib/locale/lang/vi-VN.js +2 -1
  55. package/lib/locale/lang/vi-VN.min.js +1 -1
  56. package/lib/locale/lang/zh-CHT.js +2 -1
  57. package/lib/locale/lang/zh-CHT.min.js +1 -1
  58. package/lib/locale/lang/zh-CN.js +2 -1
  59. package/lib/locale/lang/zh-CN.min.js +1 -1
  60. package/lib/locale/lang/zh-CN.umd.js +2 -1
  61. package/lib/style.css +1 -1
  62. package/lib/style.min.css +1 -1
  63. package/lib/table/render/index.js +15 -0
  64. package/lib/table/render/index.min.js +1 -1
  65. package/lib/table/src/table.js +260 -266
  66. package/lib/table/src/table.min.js +1 -1
  67. package/lib/table/style/style.css +1 -1
  68. package/lib/table/style/style.min.css +1 -1
  69. package/lib/toolbar/src/toolbar.js +6 -6
  70. package/lib/toolbar/src/toolbar.min.js +1 -1
  71. package/lib/ui/index.js +2 -2
  72. package/lib/ui/index.min.js +1 -1
  73. package/lib/ui/src/log.js +1 -1
  74. package/lib/ui/src/log.min.js +1 -1
  75. package/lib/vxe-table/style/style.css +1 -1
  76. package/lib/vxe-table/style/style.min.css +1 -1
  77. package/package.json +2 -2
  78. package/packages/grid/src/grid.ts +5 -5
  79. package/packages/locale/lang/en-US.ts +2 -1
  80. package/packages/locale/lang/es-ES.ts +2 -1
  81. package/packages/locale/lang/hu-HU.ts +2 -1
  82. package/packages/locale/lang/ja-JP.ts +2 -1
  83. package/packages/locale/lang/ko-KR.ts +2 -1
  84. package/packages/locale/lang/pt-BR.ts +2 -1
  85. package/packages/locale/lang/ru-RU.ts +2 -1
  86. package/packages/locale/lang/uk-UA.ts +2 -1
  87. package/packages/locale/lang/vi-VN.ts +2 -1
  88. package/packages/locale/lang/zh-CHT.ts +2 -1
  89. package/packages/locale/lang/zh-CN.ts +2 -1
  90. package/packages/table/render/index.ts +14 -0
  91. package/packages/table/src/table.ts +261 -267
  92. package/packages/toolbar/src/toolbar.ts +6 -6
  93. package/styles/components/table.scss +5 -1
  94. /package/es/{iconfont.1727355554097.ttf → iconfont.1727599604340.ttf} +0 -0
  95. /package/es/{iconfont.1727355554097.woff → iconfont.1727599604340.woff} +0 -0
  96. /package/es/{iconfont.1727355554097.woff2 → iconfont.1727599604340.woff2} +0 -0
  97. /package/lib/{iconfont.1727355554097.ttf → iconfont.1727599604340.ttf} +0 -0
  98. /package/lib/{iconfont.1727355554097.woff → iconfont.1727599604340.woff} +0 -0
  99. /package/lib/{iconfont.1727355554097.woff2 → iconfont.1727599604340.woff2} +0 -0
@@ -362,13 +362,13 @@ export default defineComponent({
362
362
  return '';
363
363
  });
364
364
  const computeValidOpts = computed(() => {
365
- return Object.assign({}, getConfig().table.validConfig, props.validConfig);
365
+ return Object.assign({}, XEUtils.clone(getConfig().table.validConfig, true), props.validConfig);
366
366
  });
367
367
  const computeSXOpts = computed(() => {
368
- return Object.assign({}, getConfig().table.scrollX, props.scrollX);
368
+ return Object.assign({}, XEUtils.clone(getConfig().table.scrollX, true), props.scrollX);
369
369
  });
370
370
  const computeSYOpts = computed(() => {
371
- return Object.assign({}, getConfig().table.scrollY, props.scrollY);
371
+ return Object.assign({}, XEUtils.clone(getConfig().table.scrollY, true), props.scrollY);
372
372
  });
373
373
  const computeRowHeightMaps = computed(() => {
374
374
  return {
@@ -379,29 +379,29 @@ export default defineComponent({
379
379
  };
380
380
  });
381
381
  const computeColumnOpts = computed(() => {
382
- return Object.assign({}, getConfig().table.columnConfig, props.columnConfig);
382
+ return Object.assign({}, XEUtils.clone(getConfig().table.columnConfig, true), props.columnConfig);
383
383
  });
384
384
  const computeRowOpts = computed(() => {
385
- return Object.assign({}, getConfig().table.rowConfig, props.rowConfig);
385
+ return Object.assign({}, XEUtils.clone(getConfig().table.rowConfig, true), props.rowConfig);
386
386
  });
387
387
  const computeResizeOpts = computed(() => {
388
- return Object.assign({}, getConfig().table.resizeConfig, props.resizeConfig);
388
+ return Object.assign({}, XEUtils.clone(getConfig().table.resizeConfig, true), props.resizeConfig);
389
389
  });
390
390
  const computeResizableOpts = computed(() => {
391
- return Object.assign({}, getConfig().table.resizableConfig, props.resizableConfig);
391
+ return Object.assign({}, XEUtils.clone(getConfig().table.resizableConfig, true), props.resizableConfig);
392
392
  });
393
393
  const computeSeqOpts = computed(() => {
394
- return Object.assign({ startIndex: 0 }, getConfig().table.seqConfig, props.seqConfig);
394
+ return Object.assign({ startIndex: 0 }, XEUtils.clone(getConfig().table.seqConfig, true), props.seqConfig);
395
395
  });
396
396
  const computeRadioOpts = computed(() => {
397
- return Object.assign({}, getConfig().table.radioConfig, props.radioConfig);
397
+ return Object.assign({}, XEUtils.clone(getConfig().table.radioConfig, true), props.radioConfig);
398
398
  });
399
399
  const computeCheckboxOpts = computed(() => {
400
- return Object.assign({}, getConfig().table.checkboxConfig, props.checkboxConfig);
400
+ return Object.assign({}, XEUtils.clone(getConfig().table.checkboxConfig, true), props.checkboxConfig);
401
401
  });
402
402
  let computeTooltipOpts = ref();
403
403
  computeTooltipOpts = computed(() => {
404
- return Object.assign({}, getConfig().tooltip, getConfig().table.tooltipConfig, props.tooltipConfig);
404
+ return Object.assign({}, XEUtils.clone(getConfig().tooltip, true), XEUtils.clone(getConfig().table.tooltipConfig, true), props.tooltipConfig);
405
405
  });
406
406
  const computeTipConfig = computed(() => {
407
407
  const tooltipOpts = computeTooltipOpts.value;
@@ -412,31 +412,31 @@ export default defineComponent({
412
412
  return Object.assign({ isArrow: false }, tooltipOpts);
413
413
  });
414
414
  const computeEditOpts = computed(() => {
415
- return Object.assign({}, getConfig().table.editConfig, props.editConfig);
415
+ return Object.assign({}, XEUtils.clone(getConfig().table.editConfig, true), props.editConfig);
416
416
  });
417
417
  const computeSortOpts = computed(() => {
418
- return Object.assign({ orders: ['asc', 'desc', null] }, getConfig().table.sortConfig, props.sortConfig);
418
+ return Object.assign({ orders: ['asc', 'desc', null] }, XEUtils.clone(getConfig().table.sortConfig, true), props.sortConfig);
419
419
  });
420
420
  const computeFilterOpts = computed(() => {
421
- return Object.assign({}, getConfig().table.filterConfig, props.filterConfig);
421
+ return Object.assign({}, XEUtils.clone(getConfig().table.filterConfig, true), props.filterConfig);
422
422
  });
423
423
  const computeMouseOpts = computed(() => {
424
- return Object.assign({}, getConfig().table.mouseConfig, props.mouseConfig);
424
+ return Object.assign({}, XEUtils.clone(getConfig().table.mouseConfig, true), props.mouseConfig);
425
425
  });
426
426
  const computeAreaOpts = computed(() => {
427
- return Object.assign({}, getConfig().table.areaConfig, props.areaConfig);
427
+ return Object.assign({}, XEUtils.clone(getConfig().table.areaConfig, true), props.areaConfig);
428
428
  });
429
429
  const computeKeyboardOpts = computed(() => {
430
- return Object.assign({}, getConfig().table.keyboardConfig, props.keyboardConfig);
430
+ return Object.assign({}, XEUtils.clone(getConfig().table.keyboardConfig, true), props.keyboardConfig);
431
431
  });
432
432
  const computeClipOpts = computed(() => {
433
- return Object.assign({}, getConfig().table.clipConfig, props.clipConfig);
433
+ return Object.assign({}, XEUtils.clone(getConfig().table.clipConfig, true), props.clipConfig);
434
434
  });
435
435
  const computeFNROpts = computed(() => {
436
- return Object.assign({}, getConfig().table.fnrConfig, props.fnrConfig);
436
+ return Object.assign({}, XEUtils.clone(getConfig().table.fnrConfig, true), props.fnrConfig);
437
437
  });
438
438
  const computeMenuOpts = computed(() => {
439
- return Object.assign({}, getConfig().table.menuConfig, props.menuConfig);
439
+ return Object.assign({}, XEUtils.clone(getConfig().table.menuConfig, true), props.menuConfig);
440
440
  });
441
441
  const computeHeaderMenu = computed(() => {
442
442
  const menuOpts = computeMenuOpts.value;
@@ -471,31 +471,31 @@ export default defineComponent({
471
471
  return rest;
472
472
  });
473
473
  const computeExportOpts = computed(() => {
474
- return Object.assign({}, getConfig().table.exportConfig, props.exportConfig);
474
+ return Object.assign({}, XEUtils.clone(getConfig().table.exportConfig, true), props.exportConfig);
475
475
  });
476
476
  const computeImportOpts = computed(() => {
477
- return Object.assign({}, getConfig().table.importConfig, props.importConfig);
477
+ return Object.assign({}, XEUtils.clone(getConfig().table.importConfig, true), props.importConfig);
478
478
  });
479
479
  const computePrintOpts = computed(() => {
480
- return Object.assign({}, getConfig().table.printConfig, props.printConfig);
480
+ return Object.assign({}, XEUtils.clone(getConfig().table.printConfig, true), props.printConfig);
481
481
  });
482
482
  const computeExpandOpts = computed(() => {
483
- return Object.assign({}, getConfig().table.expandConfig, props.expandConfig);
483
+ return Object.assign({}, XEUtils.clone(getConfig().table.expandConfig, true), props.expandConfig);
484
484
  });
485
485
  const computeTreeOpts = computed(() => {
486
- return Object.assign({}, getConfig().table.treeConfig, props.treeConfig);
486
+ return Object.assign({}, XEUtils.clone(getConfig().table.treeConfig, true), props.treeConfig);
487
487
  });
488
488
  const computeEmptyOpts = computed(() => {
489
- return Object.assign({}, getConfig().table.emptyRender, props.emptyRender);
489
+ return Object.assign({}, XEUtils.clone(getConfig().table.emptyRender, true), props.emptyRender);
490
490
  });
491
491
  const computeLoadingOpts = computed(() => {
492
- return Object.assign({}, getConfig().table.loadingConfig, props.loadingConfig);
492
+ return Object.assign({}, XEUtils.clone(getConfig().table.loadingConfig, true), props.loadingConfig);
493
493
  });
494
494
  const computeCellOffsetWidth = computed(() => {
495
495
  return props.border ? Math.max(2, Math.ceil(reactData.scrollbarWidth / reactData.tableColumn.length)) : 1;
496
496
  });
497
497
  const computeCustomOpts = computed(() => {
498
- return Object.assign({}, getConfig().table.customConfig, props.customConfig);
498
+ return Object.assign({}, XEUtils.clone(getConfig().table.customConfig, true), props.customConfig);
499
499
  });
500
500
  const computeAutoWidthColumnList = computed(() => {
501
501
  const { visibleColumn } = internalData;
@@ -5165,12 +5165,6 @@ export default defineComponent({
5165
5165
  setCellValue(selected.row, selected.column, null);
5166
5166
  $xeTable.handleEdit(selected.args, evnt);
5167
5167
  }
5168
- const afterEditMethod = editOpts.afterEditMethod;
5169
- if (afterEditMethod) {
5170
- nextTick(() => {
5171
- afterEditMethod(params);
5172
- });
5173
- }
5174
5168
  }
5175
5169
  }
5176
5170
  }
@@ -6613,6 +6607,232 @@ export default defineComponent({
6613
6607
  tableMethods.recalculate();
6614
6608
  }
6615
6609
  }
6610
+ const renderVN = () => {
6611
+ const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules } = props;
6612
+ const { isCalcColumn, isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, scrollbarHeight, tableData, tableColumn, tableGroupColumn, footerTableData, initStore, columnStore, filterStore, customStore, tooltipStore } = reactData;
6613
+ const { leftList, rightList } = columnStore;
6614
+ const loadingSlot = slots.loading;
6615
+ const tipConfig = computeTipConfig.value;
6616
+ const validOpts = computeValidOpts.value;
6617
+ const checkboxOpts = computeCheckboxOpts.value;
6618
+ const treeOpts = computeTreeOpts.value;
6619
+ const rowOpts = computeRowOpts.value;
6620
+ const columnOpts = computeColumnOpts.value;
6621
+ const vSize = computeSize.value;
6622
+ const tableBorder = computeTableBorder.value;
6623
+ const mouseOpts = computeMouseOpts.value;
6624
+ const validTipOpts = computeValidTipOpts.value;
6625
+ const loadingOpts = computeLoadingOpts.value;
6626
+ const isMenu = computeIsMenu.value;
6627
+ const currLoading = reactData._isLoading || loading;
6628
+ return h('div', {
6629
+ ref: refElem,
6630
+ class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
6631
+ [`size--${vSize}`]: vSize,
6632
+ [`valid-msg--${validOpts.msgMode}`]: !!editRules,
6633
+ 'vxe-editable': !!editConfig,
6634
+ 'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete',
6635
+ 'cell--highlight': highlightCell,
6636
+ 'cell--selected': mouseConfig && mouseOpts.selected,
6637
+ 'cell--area': mouseConfig && mouseOpts.area,
6638
+ 'row--highlight': rowOpts.isHover || highlightHoverRow,
6639
+ 'column--highlight': columnOpts.isHover || highlightHoverColumn,
6640
+ 'checkbox--range': checkboxOpts.range,
6641
+ 'column--calc': isCalcColumn,
6642
+ 'is--header': showHeader,
6643
+ 'is--footer': showFooter,
6644
+ 'is--group': isGroup,
6645
+ 'is--tree-line': treeConfig && (treeOpts.showLine || treeOpts.line),
6646
+ 'is--fixed-left': leftList.length,
6647
+ 'is--fixed-right': rightList.length,
6648
+ 'is--animat': !!props.animat,
6649
+ 'is--padding': props.padding,
6650
+ 'is--round': props.round,
6651
+ 'is--stripe': !treeConfig && stripe,
6652
+ 'is--loading': currLoading,
6653
+ 'is--empty': !currLoading && !tableData.length,
6654
+ 'is--scroll-y': overflowY,
6655
+ 'is--scroll-x': overflowX,
6656
+ 'is--virtual-x': scrollXLoad,
6657
+ 'is--virtual-y': scrollYLoad
6658
+ }],
6659
+ spellcheck: false,
6660
+ onKeydown: keydownEvent
6661
+ }, [
6662
+ /**
6663
+ * 隐藏列
6664
+ */
6665
+ h('div', {
6666
+ class: 'vxe-table-slots'
6667
+ }, slots.default ? slots.default({}) : []),
6668
+ h('div', {
6669
+ class: 'vxe-table--render-wrapper'
6670
+ }, [
6671
+ h('div', {
6672
+ class: 'vxe-table--main-wrapper'
6673
+ }, [
6674
+ /**
6675
+ * 表头
6676
+ */
6677
+ showHeader
6678
+ ? h(TableHeaderComponent, {
6679
+ ref: refTableHeader,
6680
+ tableData,
6681
+ tableColumn,
6682
+ tableGroupColumn
6683
+ })
6684
+ : createCommentVNode(),
6685
+ /**
6686
+ * 表体
6687
+ */
6688
+ h(TableBodyComponent, {
6689
+ ref: refTableBody,
6690
+ tableData,
6691
+ tableColumn
6692
+ }),
6693
+ /**
6694
+ * 表尾
6695
+ */
6696
+ showFooter
6697
+ ? h(TableFooterComponent, {
6698
+ ref: refTableFooter,
6699
+ footerTableData,
6700
+ tableColumn
6701
+ })
6702
+ : createCommentVNode()
6703
+ ]),
6704
+ h('div', {
6705
+ class: 'vxe-table--fixed-wrapper'
6706
+ }, [
6707
+ /**
6708
+ * 左侧固定区域
6709
+ */
6710
+ leftList && leftList.length && overflowX ? renderFixed('left') : createCommentVNode(),
6711
+ /**
6712
+ * 右侧固定区域
6713
+ */
6714
+ rightList && rightList.length && overflowX ? renderFixed('right') : createCommentVNode()
6715
+ ])
6716
+ ]),
6717
+ /**
6718
+ * 空数据
6719
+ */
6720
+ h('div', {
6721
+ ref: refEmptyPlaceholder,
6722
+ class: 'vxe-table--empty-placeholder'
6723
+ }, [
6724
+ h('div', {
6725
+ class: 'vxe-table--empty-content'
6726
+ }, renderEmptyContenet())
6727
+ ]),
6728
+ /**
6729
+ * 边框线
6730
+ */
6731
+ h('div', {
6732
+ class: 'vxe-table--border-line'
6733
+ }),
6734
+ /**
6735
+ * 列宽线
6736
+ */
6737
+ h('div', {
6738
+ ref: refCellResizeBar,
6739
+ class: 'vxe-table--resizable-bar',
6740
+ style: overflowX
6741
+ ? {
6742
+ 'padding-bottom': `${scrollbarHeight}px`
6743
+ }
6744
+ : null
6745
+ }),
6746
+ /**
6747
+ * 加载中
6748
+ */
6749
+ VxeUILoadingComponent
6750
+ ? h(VxeUILoadingComponent, {
6751
+ class: 'vxe-table--loading',
6752
+ modelValue: currLoading,
6753
+ icon: loadingOpts.icon,
6754
+ text: loadingOpts.text
6755
+ }, loadingSlot
6756
+ ? {
6757
+ default: () => loadingSlot({ $table: $xeTable, $grid: $xeGrid })
6758
+ }
6759
+ : {})
6760
+ : createCommentVNode(),
6761
+ /**
6762
+ * 自定义列
6763
+ */
6764
+ initStore.custom
6765
+ ? h(TableCustomPanelComponent, {
6766
+ ref: refTableCustom,
6767
+ customStore
6768
+ })
6769
+ : createCommentVNode(),
6770
+ /**
6771
+ * 筛选
6772
+ */
6773
+ initStore.filter
6774
+ ? h(TableFilterPanelComponent, {
6775
+ ref: refTableFilter,
6776
+ filterStore
6777
+ })
6778
+ : createCommentVNode(),
6779
+ /**
6780
+ * 导入
6781
+ */
6782
+ initStore.import && props.importConfig
6783
+ ? h(TableImportPanelComponent, {
6784
+ defaultOptions: reactData.importParams,
6785
+ storeData: reactData.importStore
6786
+ })
6787
+ : createCommentVNode(),
6788
+ /**
6789
+ * 导出
6790
+ */
6791
+ initStore.export && (props.exportConfig || props.printConfig)
6792
+ ? h(TableExportPanelComponent, {
6793
+ defaultOptions: reactData.exportParams,
6794
+ storeData: reactData.exportStore
6795
+ })
6796
+ : createCommentVNode(),
6797
+ /**
6798
+ * 快捷菜单
6799
+ */
6800
+ isMenu
6801
+ ? h(TableMenuPanelComponent, {
6802
+ ref: refTableMenu
6803
+ })
6804
+ : createCommentVNode(),
6805
+ /**
6806
+ * 提示相关
6807
+ */
6808
+ VxeUITooltipComponent
6809
+ ? h('div', {}, [
6810
+ /**
6811
+ * 通用提示
6812
+ */
6813
+ h(VxeUITooltipComponent, {
6814
+ ref: refCommTooltip,
6815
+ isArrow: false,
6816
+ enterable: false
6817
+ }),
6818
+ /**
6819
+ * 工具提示
6820
+ */
6821
+ h(VxeUITooltipComponent, Object.assign({
6822
+ ref: refTooltip
6823
+ }, tipConfig, tooltipStore.currOpts)),
6824
+ /**
6825
+ * 校验提示
6826
+ */
6827
+ props.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip')
6828
+ ? h(VxeUITooltipComponent, Object.assign({ ref: refValidTooltip, class: [{
6829
+ 'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete'
6830
+ }, 'vxe-table--valid-error'] }, (validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {})))
6831
+ : createCommentVNode()
6832
+ ])
6833
+ : createCommentVNode()
6834
+ ]);
6835
+ };
6616
6836
  const dataFlag = ref(0);
6617
6837
  watch(() => props.data ? props.data.length : -1, () => {
6618
6838
  dataFlag.value++;
@@ -6966,233 +7186,6 @@ export default defineComponent({
6966
7186
  globalEvents.off($xeTable, 'contextmenu');
6967
7187
  tablePrivateMethods.preventEvent(null, 'unmounted', { $table: $xeTable });
6968
7188
  });
6969
- const renderVN = () => {
6970
- const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules } = props;
6971
- const { isCalcColumn, isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, scrollbarHeight, tableData, tableColumn, tableGroupColumn, footerTableData, initStore, columnStore, filterStore, customStore, tooltipStore } = reactData;
6972
- const { leftList, rightList } = columnStore;
6973
- const loadingSlot = slots.loading;
6974
- const tipConfig = computeTipConfig.value;
6975
- const validOpts = computeValidOpts.value;
6976
- const checkboxOpts = computeCheckboxOpts.value;
6977
- const treeOpts = computeTreeOpts.value;
6978
- const rowOpts = computeRowOpts.value;
6979
- const columnOpts = computeColumnOpts.value;
6980
- const vSize = computeSize.value;
6981
- const tableBorder = computeTableBorder.value;
6982
- const mouseOpts = computeMouseOpts.value;
6983
- const validTipOpts = computeValidTipOpts.value;
6984
- const loadingOpts = computeLoadingOpts.value;
6985
- const isMenu = computeIsMenu.value;
6986
- const currLoading = reactData._isLoading || loading;
6987
- return h('div', {
6988
- ref: refElem,
6989
- class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
6990
- [`size--${vSize}`]: vSize,
6991
- [`valid-msg--${validOpts.msgMode}`]: !!editRules,
6992
- 'vxe-editable': !!editConfig,
6993
- 'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete',
6994
- 'cell--highlight': highlightCell,
6995
- 'cell--selected': mouseConfig && mouseOpts.selected,
6996
- 'cell--area': mouseConfig && mouseOpts.area,
6997
- 'row--highlight': rowOpts.isHover || highlightHoverRow,
6998
- 'column--highlight': columnOpts.isHover || highlightHoverColumn,
6999
- 'checkbox--range': checkboxOpts.range,
7000
- 'column--calc': isCalcColumn,
7001
- 'is--header': showHeader,
7002
- 'is--footer': showFooter,
7003
- 'is--group': isGroup,
7004
- 'is--tree-line': treeConfig && (treeOpts.showLine || treeOpts.line),
7005
- 'is--fixed-left': leftList.length,
7006
- 'is--fixed-right': rightList.length,
7007
- 'is--animat': !!props.animat,
7008
- 'is--padding': props.padding,
7009
- 'is--round': props.round,
7010
- 'is--stripe': !treeConfig && stripe,
7011
- 'is--loading': currLoading,
7012
- 'is--empty': !currLoading && !tableData.length,
7013
- 'is--scroll-y': overflowY,
7014
- 'is--scroll-x': overflowX,
7015
- 'is--virtual-x': scrollXLoad,
7016
- 'is--virtual-y': scrollYLoad
7017
- }],
7018
- spellcheck: false,
7019
- onKeydown: keydownEvent
7020
- }, [
7021
- /**
7022
- * 隐藏列
7023
- */
7024
- h('div', {
7025
- class: 'vxe-table-slots'
7026
- }, slots.default ? slots.default({}) : []),
7027
- h('div', {
7028
- class: 'vxe-table--render-wrapper'
7029
- }, [
7030
- h('div', {
7031
- class: 'vxe-table--main-wrapper'
7032
- }, [
7033
- /**
7034
- * 表头
7035
- */
7036
- showHeader
7037
- ? h(TableHeaderComponent, {
7038
- ref: refTableHeader,
7039
- tableData,
7040
- tableColumn,
7041
- tableGroupColumn
7042
- })
7043
- : createCommentVNode(),
7044
- /**
7045
- * 表体
7046
- */
7047
- h(TableBodyComponent, {
7048
- ref: refTableBody,
7049
- tableData,
7050
- tableColumn
7051
- }),
7052
- /**
7053
- * 表尾
7054
- */
7055
- showFooter
7056
- ? h(TableFooterComponent, {
7057
- ref: refTableFooter,
7058
- footerTableData,
7059
- tableColumn
7060
- })
7061
- : createCommentVNode()
7062
- ]),
7063
- h('div', {
7064
- class: 'vxe-table--fixed-wrapper'
7065
- }, [
7066
- /**
7067
- * 左侧固定区域
7068
- */
7069
- leftList && leftList.length && overflowX ? renderFixed('left') : createCommentVNode(),
7070
- /**
7071
- * 右侧固定区域
7072
- */
7073
- rightList && rightList.length && overflowX ? renderFixed('right') : createCommentVNode()
7074
- ])
7075
- ]),
7076
- /**
7077
- * 空数据
7078
- */
7079
- h('div', {
7080
- ref: refEmptyPlaceholder,
7081
- class: 'vxe-table--empty-placeholder'
7082
- }, [
7083
- h('div', {
7084
- class: 'vxe-table--empty-content'
7085
- }, renderEmptyContenet())
7086
- ]),
7087
- /**
7088
- * 边框线
7089
- */
7090
- h('div', {
7091
- class: 'vxe-table--border-line'
7092
- }),
7093
- /**
7094
- * 列宽线
7095
- */
7096
- h('div', {
7097
- ref: refCellResizeBar,
7098
- class: 'vxe-table--resizable-bar',
7099
- style: overflowX
7100
- ? {
7101
- 'padding-bottom': `${scrollbarHeight}px`
7102
- }
7103
- : null
7104
- }),
7105
- /**
7106
- * 加载中
7107
- */
7108
- VxeUILoadingComponent
7109
- ? h(VxeUILoadingComponent, {
7110
- class: 'vxe-table--loading',
7111
- modelValue: currLoading,
7112
- icon: loadingOpts.icon,
7113
- text: loadingOpts.text
7114
- }, loadingSlot
7115
- ? {
7116
- default: () => loadingSlot({ $table: $xeTable, $grid: $xeGrid })
7117
- }
7118
- : {})
7119
- : createCommentVNode(),
7120
- /**
7121
- * 自定义列
7122
- */
7123
- initStore.custom
7124
- ? h(TableCustomPanelComponent, {
7125
- ref: refTableCustom,
7126
- customStore
7127
- })
7128
- : createCommentVNode(),
7129
- /**
7130
- * 筛选
7131
- */
7132
- initStore.filter
7133
- ? h(TableFilterPanelComponent, {
7134
- ref: refTableFilter,
7135
- filterStore
7136
- })
7137
- : createCommentVNode(),
7138
- /**
7139
- * 导入
7140
- */
7141
- initStore.import && props.importConfig
7142
- ? h(TableImportPanelComponent, {
7143
- defaultOptions: reactData.importParams,
7144
- storeData: reactData.importStore
7145
- })
7146
- : createCommentVNode(),
7147
- /**
7148
- * 导出
7149
- */
7150
- initStore.export && (props.exportConfig || props.printConfig)
7151
- ? h(TableExportPanelComponent, {
7152
- defaultOptions: reactData.exportParams,
7153
- storeData: reactData.exportStore
7154
- })
7155
- : createCommentVNode(),
7156
- /**
7157
- * 快捷菜单
7158
- */
7159
- isMenu
7160
- ? h(TableMenuPanelComponent, {
7161
- ref: refTableMenu
7162
- })
7163
- : createCommentVNode(),
7164
- /**
7165
- * 提示相关
7166
- */
7167
- VxeUITooltipComponent
7168
- ? h('div', {}, [
7169
- /**
7170
- * 通用提示
7171
- */
7172
- h(VxeUITooltipComponent, {
7173
- ref: refCommTooltip,
7174
- isArrow: false,
7175
- enterable: false
7176
- }),
7177
- /**
7178
- * 工具提示
7179
- */
7180
- h(VxeUITooltipComponent, Object.assign({
7181
- ref: refTooltip
7182
- }, tipConfig, tooltipStore.currOpts)),
7183
- /**
7184
- * 校验提示
7185
- */
7186
- props.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip')
7187
- ? h(VxeUITooltipComponent, Object.assign({ ref: refValidTooltip, class: [{
7188
- 'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete'
7189
- }, 'vxe-table--valid-error'] }, (validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {})))
7190
- : createCommentVNode()
7191
- ])
7192
- : createCommentVNode()
7193
- ]);
7194
- };
7195
- $xeTable.renderVN = renderVN;
7196
7189
  if (process.env.NODE_ENV === 'development') {
7197
7190
  nextTick(() => {
7198
7191
  if (props.loading) {
@@ -7212,6 +7205,7 @@ export default defineComponent({
7212
7205
  }
7213
7206
  provide('$xeColgroup', null);
7214
7207
  provide('$xeTable', $xeTable);
7208
+ $xeTable.renderVN = renderVN;
7215
7209
  return $xeTable;
7216
7210
  },
7217
7211
  render() {
@@ -1753,7 +1753,7 @@
1753
1753
  resize: none;
1754
1754
  }
1755
1755
 
1756
- .vxe-body--column.col--height > .vxe-cell {
1756
+ .vxe-body--column.col--height.col--active > .vxe-cell {
1757
1757
  height: 100%;
1758
1758
  }
1759
1759
  .vxe-body--column.col--height > .vxe-cell > .vxe-textarea, .vxe-body--column.col--height > .vxe-cell > .vxe-default-textarea {