vxe-table 4.17.0 → 4.17.2

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 (67) hide show
  1. package/README.md +3 -4
  2. package/README.zh-TW.md +1 -1
  3. package/es/grid/src/grid.js +13 -5
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/en-US.js +22 -22
  7. package/es/style.css +1 -1
  8. package/es/style.min.css +1 -1
  9. package/es/table/module/custom/hook.js +2 -4
  10. package/es/table/module/custom/panel.js +3 -0
  11. package/es/table/module/menu/hook.js +7 -1
  12. package/es/table/src/cell.js +4 -5
  13. package/es/table/src/table.js +79 -25
  14. package/es/table/src/util.js +19 -16
  15. package/es/table/style.css +29 -2
  16. package/es/table/style.min.css +1 -1
  17. package/es/ui/index.js +1 -1
  18. package/es/ui/src/log.js +1 -1
  19. package/es/vxe-table/style.css +29 -2
  20. package/es/vxe-table/style.min.css +1 -1
  21. package/lib/grid/src/grid.js +12 -4
  22. package/lib/grid/src/grid.min.js +1 -1
  23. package/lib/index.css +1 -1
  24. package/lib/index.min.css +1 -1
  25. package/lib/index.umd.js +54 -46
  26. package/lib/index.umd.min.js +1 -1
  27. package/lib/locale/lang/en-US.js +22 -22
  28. package/lib/locale/lang/en-US.min.js +1 -1
  29. package/lib/locale/lang/en-US.umd.js +22 -22
  30. package/lib/style.css +1 -1
  31. package/lib/style.min.css +1 -1
  32. package/lib/table/module/custom/hook.js +2 -4
  33. package/lib/table/module/custom/hook.min.js +1 -1
  34. package/lib/table/module/custom/panel.js +3 -0
  35. package/lib/table/module/custom/panel.min.js +1 -1
  36. package/lib/table/module/menu/hook.js +7 -1
  37. package/lib/table/module/menu/hook.min.js +1 -1
  38. package/lib/table/src/cell.js +5 -7
  39. package/lib/table/src/cell.min.js +1 -1
  40. package/lib/table/src/table.js +16 -12
  41. package/lib/table/src/table.min.js +1 -1
  42. package/lib/table/src/util.js +7 -16
  43. package/lib/table/src/util.min.js +1 -1
  44. package/lib/table/style/style.css +29 -2
  45. package/lib/table/style/style.min.css +1 -1
  46. package/lib/ui/index.js +1 -1
  47. package/lib/ui/index.min.js +1 -1
  48. package/lib/ui/src/log.js +1 -1
  49. package/lib/ui/src/log.min.js +1 -1
  50. package/lib/vxe-table/style/style.css +29 -2
  51. package/lib/vxe-table/style/style.min.css +1 -1
  52. package/package.json +2 -2
  53. package/packages/grid/src/grid.ts +53 -45
  54. package/packages/locale/lang/en-US.ts +22 -22
  55. package/packages/table/module/custom/hook.ts +2 -4
  56. package/packages/table/module/custom/panel.ts +3 -0
  57. package/packages/table/module/menu/hook.ts +8 -1
  58. package/packages/table/src/cell.ts +4 -5
  59. package/packages/table/src/table.ts +82 -25
  60. package/packages/table/src/util.ts +27 -16
  61. package/styles/components/table.scss +52 -2
  62. /package/es/{iconfont.1760925752102.ttf → iconfont.1761269928256.ttf} +0 -0
  63. /package/es/{iconfont.1760925752102.woff → iconfont.1761269928256.woff} +0 -0
  64. /package/es/{iconfont.1760925752102.woff2 → iconfont.1761269928256.woff2} +0 -0
  65. /package/lib/{iconfont.1760925752102.ttf → iconfont.1761269928256.ttf} +0 -0
  66. /package/lib/{iconfont.1760925752102.woff → iconfont.1761269928256.woff} +0 -0
  67. /package/lib/{iconfont.1760925752102.woff2 → iconfont.1761269928256.woff2} +0 -0
@@ -2,13 +2,12 @@ import { nextTick } from 'vue';
2
2
  import { VxeUI } from '../../../ui';
3
3
  import XEUtils from 'xe-utils';
4
4
  import { getColumnList } from '../../src/util';
5
- const tableCustomMethodKeys = ['openCustom', 'closeCustom', 'toggleCustom', 'saveCustom', 'cancelCustom', 'resetCustom', 'toggleCustomAllCheckbox', 'setCustomAllCheckbox'];
5
+ const tableCustomMethodKeys = ['openCustom', 'closeCustom', 'getCustomVisible', 'toggleCustom', 'saveCustom', 'cancelCustom', 'resetCustom', 'toggleCustomAllCheckbox', 'setCustomAllCheckbox'];
6
6
  VxeUI.hooks.add('tableCustomModule', {
7
7
  setupTable($xeTable) {
8
8
  const { reactData, internalData } = $xeTable;
9
9
  const { computeCustomOpts, computeRowGroupFields } = $xeTable.getComputeMaps();
10
10
  const { refElem } = $xeTable.getRefMaps();
11
- const $xeGrid = $xeTable.xeGrid;
12
11
  const $xeGantt = $xeTable.xeGantt;
13
12
  const calcMaxHeight = () => {
14
13
  const { customStore } = reactData;
@@ -279,8 +278,7 @@ VxeUI.hooks.add('tableCustomModule', {
279
278
  customStore.isIndeterminate = !customStore.isAll && collectColumn.some((column) => (!checkMethod || checkMethod({ $table: $xeTable, column })) && (column.renderVisible || column.halfVisible));
280
279
  };
281
280
  const emitCustomEvent = (type, evnt) => {
282
- const comp = $xeGrid || $xeGantt || $xeTable;
283
- comp.dispatchEvent('custom', { type }, evnt);
281
+ $xeTable.dispatchEvent('custom', { type }, evnt);
284
282
  };
285
283
  const customPrivateMethods = {
286
284
  checkCustomStatus,
@@ -73,6 +73,7 @@ export default defineVxeComponent({
73
73
  $xeTable.saveCustom();
74
74
  $xeTable.closeCustom();
75
75
  $xeTable.emitCustomEvent('confirm', $event);
76
+ $xeTable.emitCustomEvent('close', $event);
76
77
  };
77
78
  const cancelCloseEvent = ({ $event }) => {
78
79
  $xeTable.closeCustom();
@@ -82,11 +83,13 @@ export default defineVxeComponent({
82
83
  $xeTable.cancelCustom();
83
84
  $xeTable.closeCustom();
84
85
  $xeTable.emitCustomEvent('cancel', $event);
86
+ $xeTable.emitCustomEvent('close', $event);
85
87
  };
86
88
  const handleResetCustomEvent = (evnt) => {
87
89
  $xeTable.resetCustom(true);
88
90
  $xeTable.closeCustom();
89
91
  $xeTable.emitCustomEvent('reset', evnt);
92
+ $xeTable.emitCustomEvent('close', evnt);
90
93
  };
91
94
  const resetCustomEvent = ({ $event }) => {
92
95
  if (VxeUI.modal) {
@@ -10,6 +10,9 @@ hooks.add('tableMenuModule', {
10
10
  const { xID, props, reactData, internalData } = $xeTable;
11
11
  const { refElem, refTableFilter, refTableMenu } = $xeTable.getRefMaps();
12
12
  const { computeMouseOpts, computeIsContentMenu, computeMenuOpts } = $xeTable.getComputeMaps();
13
+ const $xeGrid = $xeTable.xeGrid;
14
+ const $xeGantt = $xeTable.xeGantt;
15
+ const $xeGGWrapper = $xeGrid || $xeGantt;
13
16
  let menuMethods = {};
14
17
  let menuPrivateMethods = {};
15
18
  /**
@@ -32,7 +35,10 @@ hooks.add('tableMenuModule', {
32
35
  if (!visibleMethod || visibleMethod(params)) {
33
36
  evnt.preventDefault();
34
37
  $xeTable.updateZindex();
35
- const el = refElem.value;
38
+ const el = $xeGGWrapper ? $xeGGWrapper.getRefMaps().refElem.value : refElem.value;
39
+ if (!el) {
40
+ return;
41
+ }
36
42
  const tableRect = el.getBoundingClientRect();
37
43
  const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode();
38
44
  let top = evnt.clientY - tableRect.y;
@@ -382,11 +382,9 @@ export const Cell = {
382
382
  const tableReactData = $table.reactData;
383
383
  const tableInternalData = $table.internalData;
384
384
  const { isRowGroupStatus } = tableReactData;
385
- const { computeEditOpts } = $table.getComputeMaps();
386
385
  const { editConfig } = tableProps;
387
- const editOpts = computeEditOpts.value;
388
- const { field, slots, editRender, cellRender, rowGroupNode, aggFunc } = column;
389
- const renderOpts = editConfig && isEnableConf(editOpts) && editRender ? editRender : cellRender;
386
+ const { field, slots, editRender, cellRender, rowGroupNode, aggFunc, formatter } = column;
387
+ const renderOpts = editConfig && isEnableConf(editRender) ? editRender : (isEnableConf(cellRender) ? cellRender : null);
390
388
  const defaultSlot = slots ? slots.default : null;
391
389
  const gcSlot = slots ? (slots.groupContent || slots['group-content']) : null;
392
390
  let cellValue = '';
@@ -448,7 +446,8 @@ export const Cell = {
448
446
  if (defaultSlot) {
449
447
  return renderCellBaseVNs(params, $table.callSlot(defaultSlot, params));
450
448
  }
451
- if (renderOpts) {
449
+ // formatter > (renderTableCell | renderTableDefault)
450
+ if (renderOpts && !formatter) {
452
451
  const compConf = renderer.get(renderOpts.name);
453
452
  if (compConf) {
454
453
  const rtCell = compConf.renderTableCell || compConf.renderCell;
@@ -1469,7 +1469,7 @@ export default defineVxeComponent({
1469
1469
  });
1470
1470
  };
1471
1471
  const calcTableHeight = (key) => {
1472
- const { editConfig } = props;
1472
+ const { editConfig, editRules } = props;
1473
1473
  const { parentHeight } = reactData;
1474
1474
  let val = props[key];
1475
1475
  if (key === 'minHeight') {
@@ -1477,7 +1477,7 @@ export default defineVxeComponent({
1477
1477
  if (XEUtils.eqNull(val)) {
1478
1478
  if (eqEmptyValue(defMinHeight)) {
1479
1479
  // 编辑模式默认最小高度
1480
- if (isEnableConf(editConfig)) {
1480
+ if (editRules && isEnableConf(editConfig)) {
1481
1481
  val = 144;
1482
1482
  }
1483
1483
  }
@@ -2328,7 +2328,7 @@ export default defineVxeComponent({
2328
2328
  const { visibleColumn, tableHeight, elemStore, customHeight, customMinHeight, customMaxHeight, tHeaderHeight, tFooterHeight } = internalData;
2329
2329
  const $xeGanttView = internalData.xeGanttView;
2330
2330
  const el = refElem.value;
2331
- if (!el || !el.clientHeight) {
2331
+ if (!el || (internalData.tBodyHeight && !el.clientHeight)) {
2332
2332
  return;
2333
2333
  }
2334
2334
  const containerList = ['main', 'left', 'right'];
@@ -6854,14 +6854,40 @@ export default defineVxeComponent({
6854
6854
  * 获取表格的滚动状态
6855
6855
  */
6856
6856
  getScroll() {
6857
- const { scrollXLoad, scrollYLoad } = reactData;
6857
+ return $xeTable.getScrollData();
6858
+ },
6859
+ /**
6860
+ * 获取表格的滚动数据
6861
+ */
6862
+ getScrollData() {
6863
+ const { scrollXLoad, scrollYLoad, scrollbarHeight, scrollbarWidth } = reactData;
6858
6864
  const { elemStore } = internalData;
6859
6865
  const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
6866
+ const scrollTop = bodyScrollElem ? bodyScrollElem.scrollTop : 0;
6867
+ const scrollLeft = bodyScrollElem ? bodyScrollElem.scrollLeft : 0;
6868
+ const clientHeight = bodyScrollElem ? bodyScrollElem.clientHeight : 0;
6869
+ const clientWidth = bodyScrollElem ? bodyScrollElem.clientWidth : 0;
6870
+ const scrollHeight = bodyScrollElem ? bodyScrollElem.scrollHeight : 0;
6871
+ const scrollWidth = bodyScrollElem ? bodyScrollElem.scrollWidth : 0;
6872
+ const isTop = scrollTop <= 0;
6873
+ const isBottom = scrollTop + clientHeight >= scrollHeight;
6874
+ const isLeft = scrollLeft <= 0;
6875
+ const isRight = scrollLeft + clientWidth >= scrollWidth;
6860
6876
  return {
6861
6877
  virtualX: scrollXLoad,
6862
6878
  virtualY: scrollYLoad,
6863
- scrollTop: bodyScrollElem ? bodyScrollElem.scrollTop : 0,
6864
- scrollLeft: bodyScrollElem ? bodyScrollElem.scrollLeft : 0
6879
+ isTop,
6880
+ isBottom,
6881
+ isLeft,
6882
+ isRight,
6883
+ scrollbarHeight,
6884
+ scrollbarWidth,
6885
+ scrollTop,
6886
+ scrollLeft,
6887
+ scrollHeight,
6888
+ scrollWidth,
6889
+ clientHeight,
6890
+ clientWidth
6865
6891
  };
6866
6892
  },
6867
6893
  /**
@@ -6981,6 +7007,8 @@ export default defineVxeComponent({
6981
7007
  scrollYStore.endIndex = scrollYStore.visibleSize;
6982
7008
  scrollYStore.visibleEndIndex = scrollYStore.visibleSize;
6983
7009
  return nextTick().then(() => {
7010
+ internalData.lastScrollLeft = 0;
7011
+ internalData.lastScrollTop = 0;
6984
7012
  internalData.intoRunScroll = false;
6985
7013
  });
6986
7014
  },
@@ -7357,11 +7385,12 @@ export default defineVxeComponent({
7357
7385
  }
7358
7386
  else {
7359
7387
  if (!getEventTargetNode(evnt, document.body, 'vxe-table--ignore-clear').flag) {
7360
- tablePrivateMethods.preventEvent(evnt, 'event.clearCustom', {}, () => {
7361
- if ($xeTable.closeCustom) {
7388
+ if (customStore.visible && $xeTable.closeCustom) {
7389
+ tablePrivateMethods.preventEvent(evnt, 'event.clearCustom', {}, () => {
7362
7390
  $xeTable.closeCustom();
7363
- }
7364
- });
7391
+ $xeTable.dispatchEvent('custom', { type: 'close' }, evnt);
7392
+ });
7393
+ }
7365
7394
  }
7366
7395
  }
7367
7396
  }
@@ -8202,7 +8231,7 @@ export default defineVxeComponent({
8202
8231
  const el = refElem.value;
8203
8232
  if (el) {
8204
8233
  const parentElem = el.parentNode;
8205
- const parentPaddingSize = height === '100%' || height === 'auto' ? getPaddingTopBottomSize(parentElem) : 0;
8234
+ let parentPaddingSize = 0;
8206
8235
  let parentWrapperHeight = 0;
8207
8236
  if (parentElem) {
8208
8237
  if ($xeGantt && hasClass(parentElem, 'vxe-gantt--table-wrapper')) {
@@ -8213,6 +8242,7 @@ export default defineVxeComponent({
8213
8242
  }
8214
8243
  else {
8215
8244
  parentWrapperHeight = parentElem.clientHeight;
8245
+ parentPaddingSize = height === '100%' || height === 'auto' ? getPaddingTopBottomSize(parentElem) : 0;
8216
8246
  }
8217
8247
  }
8218
8248
  return Math.floor(parentWrapperHeight - parentPaddingSize);
@@ -11242,11 +11272,10 @@ export default defineVxeComponent({
11242
11272
  const { scrollXLoad, scrollYLoad, expandColumn } = reactData;
11243
11273
  const leftFixedWidth = computeLeftFixedWidth.value;
11244
11274
  const rightFixedWidth = computeRightFixedWidth.value;
11245
- if (!(leftFixedWidth || rightFixedWidth || expandColumn)) {
11246
- return;
11247
- }
11248
11275
  const { elemStore, lastScrollTop, lastScrollLeft } = internalData;
11249
11276
  const rowOpts = computeRowOpts.value;
11277
+ const scrollbarXOpts = computeScrollbarXOpts.value;
11278
+ const scrollbarYOpts = computeScrollbarYOpts.value;
11250
11279
  const xHandleEl = refScrollXHandleElem.value;
11251
11280
  const yHandleEl = refScrollYHandleElem.value;
11252
11281
  const leftScrollElem = getRefElem(elemStore['left-body-scroll']);
@@ -11255,12 +11284,6 @@ export default defineVxeComponent({
11255
11284
  const footerScrollElem = getRefElem(elemStore['main-footer-scroll']);
11256
11285
  const rightScrollElem = getRefElem(elemStore['right-body-scroll']);
11257
11286
  const rowExpandEl = refRowExpandElem.value;
11258
- if (!xHandleEl) {
11259
- return;
11260
- }
11261
- if (!yHandleEl) {
11262
- return;
11263
- }
11264
11287
  if (!bodyScrollElem) {
11265
11288
  return;
11266
11289
  }
@@ -11273,13 +11296,28 @@ export default defineVxeComponent({
11273
11296
  const scrollLeft = currScrollLeft + deltaLeft;
11274
11297
  const isRollX = scrollLeft !== lastScrollLeft;
11275
11298
  const isRollY = scrollTop !== lastScrollTop;
11299
+ if (isRollX) {
11300
+ // 如果禁用滚动
11301
+ if (scrollbarXOpts.visible === 'hidden') {
11302
+ evnt.preventDefault();
11303
+ return;
11304
+ }
11305
+ }
11276
11306
  if (isRollY) {
11307
+ // 如果禁用滚动
11308
+ if (scrollbarYOpts.visible === 'hidden') {
11309
+ evnt.preventDefault();
11310
+ return;
11311
+ }
11277
11312
  const isTopWheel = deltaTop < 0;
11278
11313
  // 如果滚动位置已经是顶部或底部,则不需要触发
11279
11314
  if (isTopWheel ? currScrollTop <= 0 : currScrollTop >= bodyScrollElem.scrollHeight - bodyScrollElem.clientHeight) {
11280
11315
  return;
11281
11316
  }
11282
11317
  }
11318
+ if (!(leftFixedWidth || rightFixedWidth || expandColumn)) {
11319
+ return;
11320
+ }
11283
11321
  if (rowOpts.isHover || highlightHoverRow) {
11284
11322
  $xeTable.clearHoverRow();
11285
11323
  }
@@ -11796,7 +11834,7 @@ export default defineVxeComponent({
11796
11834
  const osYBehavior = XEUtils.eqNull(overscrollYBehavior) ? scrollbarOpts.overscrollBehavior : overscrollYBehavior;
11797
11835
  return h('div', {
11798
11836
  ref: isFixedLeft ? refLeftContainer : refRightContainer,
11799
- class: [`vxe-table--fixed-${fixedType}-wrapper`, {
11837
+ class: [`vxe-table--fixed-${fixedType}-wrapper`, `sx--${scrollbarXOpts.visible}`, `sy--${scrollbarYOpts.visible}`, {
11800
11838
  [`x-ob--${osXBehavior}`]: osXBehavior,
11801
11839
  [`y-ob--${osYBehavior}`]: osYBehavior
11802
11840
  }]
@@ -12103,7 +12141,7 @@ export default defineVxeComponent({
12103
12141
  }]
12104
12142
  }, [
12105
12143
  h('div', {
12106
- class: 'vxe-table--main-wrapper'
12144
+ class: ['vxe-table--main-wrapper', `sx--${scrollbarXOpts.visible}`, `sy--${scrollbarYOpts.visible}`]
12107
12145
  }, [
12108
12146
  /**
12109
12147
  * 表头
@@ -12269,11 +12307,15 @@ export default defineVxeComponent({
12269
12307
  h('div', {
12270
12308
  key: 'tn',
12271
12309
  ref: refEmptyPlaceholder,
12272
- class: 'vxe-table--empty-placeholder'
12310
+ class: 'vxe-table--empty-place-wrapper'
12273
12311
  }, [
12274
12312
  h('div', {
12275
- class: 'vxe-table--empty-content'
12276
- }, renderEmptyBody())
12313
+ class: 'vxe-table--empty-placeholder'
12314
+ }, [
12315
+ h('div', {
12316
+ class: 'vxe-table--empty-content'
12317
+ }, renderEmptyBody())
12318
+ ])
12277
12319
  ]),
12278
12320
  /**
12279
12321
  * 边框线
@@ -12580,6 +12622,18 @@ export default defineVxeComponent({
12580
12622
  watch(() => VxeUI.getLanguage(), () => {
12581
12623
  reLayoutFlag.value++;
12582
12624
  });
12625
+ watch(() => {
12626
+ const scrollbarXOpts = computeScrollbarXOpts.value;
12627
+ return scrollbarXOpts.visible;
12628
+ }, () => {
12629
+ reLayoutFlag.value++;
12630
+ });
12631
+ watch(() => {
12632
+ const scrollbarYOpts = computeScrollbarYOpts.value;
12633
+ return scrollbarYOpts.visible;
12634
+ }, () => {
12635
+ reLayoutFlag.value++;
12636
+ });
12583
12637
  watch(reLayoutFlag, () => {
12584
12638
  $xeTable.recalculate(true);
12585
12639
  });
@@ -627,28 +627,31 @@ export function calcTreeLine(params, prevRow) {
627
627
  export function clearTableDefaultStatus($xeTable) {
628
628
  const { props, internalData } = $xeTable;
629
629
  internalData.initStatus = false;
630
- $xeTable.clearSort();
631
- $xeTable.clearCurrentRow();
632
- $xeTable.clearCurrentColumn();
633
- $xeTable.clearRadioRow();
634
- $xeTable.clearRadioReserve();
635
- $xeTable.clearCheckboxRow();
636
- $xeTable.clearCheckboxReserve();
637
- $xeTable.clearRowExpand();
638
- $xeTable.clearTreeExpand();
639
- $xeTable.clearTreeExpandReserve();
640
- $xeTable.clearPendingRow();
630
+ const actionList = [
631
+ $xeTable.clearSort(),
632
+ $xeTable.clearCurrentRow(),
633
+ $xeTable.clearCurrentColumn(),
634
+ $xeTable.clearRadioRow(),
635
+ $xeTable.clearRadioReserve(),
636
+ $xeTable.clearCheckboxRow(),
637
+ $xeTable.clearCheckboxReserve(),
638
+ $xeTable.clearRowExpand(),
639
+ $xeTable.clearTreeExpand(),
640
+ $xeTable.clearTreeExpandReserve(),
641
+ $xeTable.clearPendingRow()
642
+ ];
641
643
  if ($xeTable.clearFilter) {
642
- $xeTable.clearFilter();
644
+ actionList.push($xeTable.clearFilter());
643
645
  }
644
646
  if ($xeTable.clearSelected && (props.keyboardConfig || props.mouseConfig)) {
645
- $xeTable.clearSelected();
647
+ actionList.push($xeTable.clearSelected());
646
648
  }
647
649
  if ($xeTable.clearCellAreas && props.mouseConfig) {
648
- $xeTable.clearCellAreas();
649
- $xeTable.clearCopyCellArea();
650
+ actionList.push($xeTable.clearCellAreas(), $xeTable.clearCopyCellArea());
650
651
  }
651
- return $xeTable.clearScroll();
652
+ return Promise.all(actionList).then(() => {
653
+ return $xeTable.clearScroll();
654
+ });
652
655
  }
653
656
  export function clearTableAllStatus($xeTable) {
654
657
  if ($xeTable.clearFilter) {
@@ -1839,6 +1839,28 @@
1839
1839
  overflow-x: scroll;
1840
1840
  }
1841
1841
 
1842
+ .vxe-table--main-wrapper.sx--hidden > .vxe-table--header-wrapper > .vxe-table--header-inner-wrapper {
1843
+ overflow-x: hidden;
1844
+ }
1845
+ .vxe-table--main-wrapper.sx--hidden > .vxe-table--body-wrapper > .vxe-table--body-inner-wrapper {
1846
+ overflow-x: hidden;
1847
+ }
1848
+ .vxe-table--main-wrapper.sx--hidden > .vxe-table--footer-wrapper > .vxe-table--footer-inner-wrapper {
1849
+ overflow-x: hidden;
1850
+ }
1851
+ .vxe-table--main-wrapper.sy--hidden > .vxe-table--body-wrapper > .vxe-table--body-inner-wrapper {
1852
+ overflow-y: hidden;
1853
+ }
1854
+
1855
+ .vxe-table--fixed-left-wrapper.sx--hidden > .vxe-table--body-wrapper > .vxe-table--body-inner-wrapper,
1856
+ .vxe-table--fixed-right-wrapper.sx--hidden > .vxe-table--body-wrapper > .vxe-table--body-inner-wrapper {
1857
+ overflow-x: hidden;
1858
+ }
1859
+ .vxe-table--fixed-left-wrapper.sy--hidden > .vxe-table--body-wrapper > .vxe-table--body-inner-wrapper,
1860
+ .vxe-table--fixed-right-wrapper.sy--hidden > .vxe-table--body-wrapper > .vxe-table--body-inner-wrapper {
1861
+ overflow-y: hidden;
1862
+ }
1863
+
1842
1864
  .vxe-loading--custom-wrapper {
1843
1865
  display: none;
1844
1866
  position: absolute;
@@ -3496,11 +3518,16 @@
3496
3518
  display: none;
3497
3519
  visibility: hidden;
3498
3520
  }
3499
- .vxe-table--render-default .vxe-table--empty-placeholder {
3521
+ .vxe-table--render-default .vxe-table--empty-place-wrapper {
3500
3522
  display: none;
3501
3523
  position: absolute;
3524
+ width: 100%;
3502
3525
  top: 0;
3503
3526
  z-index: 5;
3527
+ overflow: hidden;
3528
+ }
3529
+ .vxe-table--render-default .vxe-table--empty-placeholder {
3530
+ display: flex;
3504
3531
  }
3505
3532
  .vxe-table--render-default .vxe-table--empty-content {
3506
3533
  display: block;
@@ -3508,7 +3535,7 @@
3508
3535
  pointer-events: auto;
3509
3536
  }
3510
3537
  .vxe-table--render-default.is--empty .vxe-table--empty-block,
3511
- .vxe-table--render-default.is--empty .vxe-table--empty-placeholder {
3538
+ .vxe-table--render-default.is--empty .vxe-table--empty-place-wrapper {
3512
3539
  display: flex;
3513
3540
  }
3514
3541
  .vxe-table--render-default .vxe-body--column.col--selected {