vxe-table 3.15.8 → 3.15.10

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.
@@ -5,7 +5,7 @@ import { updateCellTitle } from '../../ui/src/dom';
5
5
  import { getCellHeight } from './util';
6
6
  const renderType = 'footer';
7
7
  const { renderer, renderEmptyElement } = VxeUI;
8
- function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
8
+ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
9
9
  const props = _vm;
10
10
  const $xeTable = _vm.$parent;
11
11
  const tableProps = $xeTable;
@@ -37,10 +37,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
37
37
  const isPadding = XEUtils.isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
38
38
  const footOverflow = XEUtils.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
39
39
  const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
40
- let showEllipsis = footOverflow === 'ellipsis';
40
+ const showEllipsis = footOverflow === 'ellipsis';
41
41
  const showTitle = footOverflow === 'title';
42
42
  const showTooltip = footOverflow === true || footOverflow === 'tooltip';
43
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
43
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
44
44
  const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
45
45
  const attrs = { colid };
46
46
  const tfOns = {};
@@ -64,10 +64,6 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
64
64
  type: renderType,
65
65
  data: footerTableData
66
66
  };
67
- // 纵向虚拟滚动不支持动态行高
68
- if (scrollXLoad && !hasEllipsis) {
69
- showEllipsis = hasEllipsis = true;
70
- }
71
67
  if (showTitle || showTooltip || showAllTip) {
72
68
  tfOns.mouseenter = (evnt) => {
73
69
  if (showTitle) {
@@ -126,7 +122,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
126
122
  const isLastColumn = $columnIndex === tableColumn.length - 1;
127
123
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
128
124
  let isVNPreEmptyStatus = false;
129
- if (!isMergeCell) {
125
+ if (isOptimizeMode && !isMergeCell) {
130
126
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
131
127
  isVNPreEmptyStatus = true;
132
128
  }
@@ -188,7 +184,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
188
184
  ]);
189
185
  });
190
186
  }
191
- function renderHeads(h, _vm, renderColumnList) {
187
+ function renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
192
188
  const props = _vm;
193
189
  const $xeTable = _vm.$parent;
194
190
  const tableProps = $xeTable;
@@ -213,7 +209,7 @@ function renderHeads(h, _vm, renderColumnList) {
213
209
  ],
214
210
  style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : undefined
215
211
  }
216
- }, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
212
+ }, renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
217
213
  }
218
214
  return h('tr', {
219
215
  key: $rowIndex,
@@ -222,7 +218,7 @@ function renderHeads(h, _vm, renderColumnList) {
222
218
  footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''
223
219
  ],
224
220
  style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : undefined
225
- }, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
221
+ }, renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
226
222
  });
227
223
  }
228
224
  export default {
@@ -284,11 +280,11 @@ export default {
284
280
  const { fixedType, fixedColumn, tableColumn } = props;
285
281
  const { spanMethod, footerSpanMethod, showFooterOverflow: allColumnFooterOverflow } = tableProps;
286
282
  const { visibleColumn, fullColumnIdData } = tableInternalData;
287
- const { isGroup, isColLoading, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
283
+ const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData;
288
284
  let renderColumnList = tableColumn;
289
285
  let isOptimizeMode = false;
290
286
  // 如果是使用优化模式
291
- if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
287
+ if (scrollXLoad && allColumnFooterOverflow) {
292
288
  if (spanMethod || footerSpanMethod) {
293
289
  // 如果不支持优化模式
294
290
  }
@@ -296,7 +292,7 @@ export default {
296
292
  isOptimizeMode = true;
297
293
  }
298
294
  }
299
- if (!isColLoading && (fixedType || !overflowX)) {
295
+ if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
300
296
  renderColumnList = visibleColumn;
301
297
  }
302
298
  if (fixedType) {
@@ -382,7 +378,7 @@ export default {
382
378
  */
383
379
  h('tfoot', {
384
380
  ref: 'refFooterTFoot'
385
- }, renderHeads(h, this, renderColumnList))
381
+ }, renderHeads(h, this, isOptimizeMode, renderColumnList))
386
382
  ])
387
383
  ])
388
384
  ]);
@@ -35,10 +35,10 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
35
35
  const isPadding = XEUtils.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
36
36
  const headOverflow = XEUtils.isUndefined(showHeaderOverflow) || XEUtils.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
37
37
  const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
38
- let showEllipsis = headOverflow === 'ellipsis';
38
+ const showEllipsis = headOverflow === 'ellipsis';
39
39
  const showTitle = headOverflow === 'title';
40
40
  const showTooltip = headOverflow === true || headOverflow === 'tooltip';
41
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
41
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
42
42
  let hasFilter = false;
43
43
  let firstFilterOption = null;
44
44
  if (filters) {
@@ -47,7 +47,20 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
47
47
  }
48
48
  const columnIndex = colRest.index;
49
49
  const _columnIndex = colRest._index;
50
- const cellParams = { $table: $xeTable, $grid: $xeGrid, $rowIndex, column, columnIndex, $columnIndex, _columnIndex, firstFilterOption, fixed: fixedType, type: cellType, isHidden: fixedHiddenColumn, hasFilter };
50
+ const cellParams = {
51
+ $table: $xeTable,
52
+ $grid: $xeGrid,
53
+ $rowIndex,
54
+ column,
55
+ columnIndex,
56
+ $columnIndex,
57
+ _columnIndex,
58
+ firstFilterOption,
59
+ fixed: fixedType,
60
+ type: cellType,
61
+ isHidden: fixedHiddenColumn,
62
+ hasFilter
63
+ };
51
64
  const thAttrs = {
52
65
  colid,
53
66
  colspan: column.colSpan > 1 ? column.colSpan : null,
@@ -57,10 +70,6 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
57
70
  click: (evnt) => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
58
71
  dblclick: (evnt) => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
59
72
  };
60
- // 虚拟滚动不支持动态高度
61
- if (scrollXLoad && !hasEllipsis) {
62
- showEllipsis = hasEllipsis = true;
63
- }
64
73
  const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
65
74
  let isDisabledDrag = false;
66
75
  if (isColDragCell) {
@@ -83,7 +92,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
83
92
  const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
84
93
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
85
94
  let isVNPreEmptyStatus = false;
86
- if (!isGroup) {
95
+ if (isOptimizeMode && !isGroup) {
87
96
  if (!dragCol || dragCol.id !== colid) {
88
97
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
89
98
  isVNPreEmptyStatus = true;
@@ -254,7 +263,7 @@ export default {
254
263
  const { fixedType, fixedColumn, tableColumn } = props;
255
264
  const { headerColumn } = this;
256
265
  const { mouseConfig, showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps;
257
- const { isGroup, isColLoading, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
266
+ const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData;
258
267
  const { visibleColumn, fullColumnIdData } = tableInternalData;
259
268
  const mouseOpts = $xeTable.computeMouseOpts;
260
269
  let renderHeaderList = headerColumn;
@@ -265,7 +274,7 @@ export default {
265
274
  }
266
275
  else {
267
276
  // 如果是使用优化模式
268
- if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
277
+ if (scrollXLoad && allColumnHeaderOverflow) {
269
278
  if (spanMethod || footerSpanMethod) {
270
279
  // 如果不支持优化模式
271
280
  }
@@ -273,7 +282,7 @@ export default {
273
282
  isOptimizeMode = true;
274
283
  }
275
284
  }
276
- if (!isColLoading && (fixedType || !overflowX)) {
285
+ if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
277
286
  renderColumnList = visibleColumn;
278
287
  }
279
288
  if (fixedType) {
@@ -829,7 +829,7 @@ function updateStyle($xeTable) {
829
829
  const reactData = $xeTable;
830
830
  const internalData = $xeTable;
831
831
  const { showHeaderOverflow: allColumnHeaderOverflow, showFooterOverflow: allColumnFooterOverflow, mouseConfig, spanMethod, footerSpanMethod } = props;
832
- const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn } = reactData;
832
+ const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn, isColLoading } = reactData;
833
833
  const { visibleColumn, tableHeight, headerHeight, footerHeight, elemStore, customHeight, customMinHeight, customMaxHeight } = internalData;
834
834
  const el = $xeTable.$refs.refElem;
835
835
  if (!el) {
@@ -939,7 +939,7 @@ function updateStyle($xeTable) {
939
939
  }
940
940
  else {
941
941
  // 如果是使用优化模式
942
- if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
942
+ if (scrollXLoad && allColumnHeaderOverflow) {
943
943
  if (spanMethod || footerSpanMethod) {
944
944
  // 如果不支持优化模式
945
945
  }
@@ -947,8 +947,10 @@ function updateStyle($xeTable) {
947
947
  isOptimizeMode = true;
948
948
  }
949
949
  }
950
- if (fixedType) {
950
+ if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
951
951
  renderColumnList = visibleColumn;
952
+ }
953
+ if (fixedType) {
952
954
  // 如果是使用优化模式
953
955
  if (isOptimizeMode) {
954
956
  renderColumnList = fixedColumn || [];
@@ -1040,7 +1042,7 @@ function updateStyle($xeTable) {
1040
1042
  let renderColumnList = tableColumn;
1041
1043
  let isOptimizeMode = false;
1042
1044
  // 如果是使用优化模式
1043
- if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
1045
+ if (scrollXLoad && allColumnFooterOverflow) {
1044
1046
  if (spanMethod || footerSpanMethod) {
1045
1047
  // 如果不支持优化模式
1046
1048
  }
@@ -1048,8 +1050,10 @@ function updateStyle($xeTable) {
1048
1050
  isOptimizeMode = true;
1049
1051
  }
1050
1052
  }
1051
- if (fixedType) {
1053
+ if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
1052
1054
  renderColumnList = visibleColumn;
1055
+ }
1056
+ if (fixedType) {
1053
1057
  if (isOptimizeMode) {
1054
1058
  renderColumnList = fixedColumn || [];
1055
1059
  }
@@ -9385,7 +9389,7 @@ const Methods = {
9385
9389
  const $xeTable = this;
9386
9390
  const reactData = $xeTable;
9387
9391
  const internalData = $xeTable;
9388
- const { isGroup, scrollXLoad, overflowX, scrollXWidth } = reactData;
9392
+ const { scrollXLoad, overflowX, scrollXWidth } = reactData;
9389
9393
  const { visibleColumn, scrollXStore, elemStore, fullColumnIdData } = internalData;
9390
9394
  const mouseOpts = $xeTable.computeMouseOpts;
9391
9395
  const tableBody = $xeTable.$refs.refTableBody;
@@ -9424,13 +9428,13 @@ const Methods = {
9424
9428
  marginLeft = `${xSpaceLeft}px`;
9425
9429
  }
9426
9430
  if (headerTableElem) {
9427
- headerTableElem.style.marginLeft = isGroup ? '' : marginLeft;
9431
+ headerTableElem.style.marginLeft = headerTableElem.getAttribute('xvm') ? marginLeft : '';
9428
9432
  }
9429
9433
  if (bodyTableElem) {
9430
9434
  bodyTableElem.style.marginLeft = marginLeft;
9431
9435
  }
9432
9436
  if (footerTableElem) {
9433
- footerTableElem.style.marginLeft = marginLeft;
9437
+ footerTableElem.style.marginLeft = footerTableElem.getAttribute('xvm') ? marginLeft : '';
9434
9438
  }
9435
9439
  reactData.isScrollXBig = isScrollXBig;
9436
9440
  const containerList = ['main'];
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "3.15.8";
3
+ export const version = "3.15.10";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.15.8"}`;
3
+ const version = `table v${"3.15.10"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -2220,7 +2220,7 @@ function getClass(property, params) {
2220
2220
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2221
2221
 
2222
2222
 
2223
- const version = "3.15.8";
2223
+ const version = "3.15.10";
2224
2224
  core_.VxeUI.version = version;
2225
2225
  core_.VxeUI.tableVersion = version;
2226
2226
  core_.VxeUI.setConfig({
@@ -2858,7 +2858,7 @@ function isNodeElement(elem) {
2858
2858
  const {
2859
2859
  log: log_log
2860
2860
  } = core_.VxeUI;
2861
- const log_version = `table v${"3.15.8"}`;
2861
+ const log_version = `table v${"3.15.10"}`;
2862
2862
  const warnLog = log_log.create('warn', log_version);
2863
2863
  const errLog = log_log.create('error', log_version);
2864
2864
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -6366,7 +6366,8 @@ function updateStyle($xeTable) {
6366
6366
  columnStore,
6367
6367
  editStore,
6368
6368
  isAllOverflow,
6369
- expandColumn
6369
+ expandColumn,
6370
+ isColLoading
6370
6371
  } = reactData;
6371
6372
  const {
6372
6373
  visibleColumn,
@@ -6485,15 +6486,17 @@ function updateStyle($xeTable) {
6485
6486
  renderColumnList = visibleColumn;
6486
6487
  } else {
6487
6488
  // 如果是使用优化模式
6488
- if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
6489
+ if (scrollXLoad && allColumnHeaderOverflow) {
6489
6490
  if (spanMethod || footerSpanMethod) {
6490
6491
  // 如果不支持优化模式
6491
6492
  } else {
6492
6493
  isOptimizeMode = true;
6493
6494
  }
6494
6495
  }
6495
- if (fixedType) {
6496
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
6496
6497
  renderColumnList = visibleColumn;
6498
+ }
6499
+ if (fixedType) {
6497
6500
  // 如果是使用优化模式
6498
6501
  if (isOptimizeMode) {
6499
6502
  renderColumnList = fixedColumn || [];
@@ -6579,15 +6582,17 @@ function updateStyle($xeTable) {
6579
6582
  let renderColumnList = tableColumn;
6580
6583
  let isOptimizeMode = false;
6581
6584
  // 如果是使用优化模式
6582
- if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
6585
+ if (scrollXLoad && allColumnFooterOverflow) {
6583
6586
  if (spanMethod || footerSpanMethod) {
6584
6587
  // 如果不支持优化模式
6585
6588
  } else {
6586
6589
  isOptimizeMode = true;
6587
6590
  }
6588
6591
  }
6589
- if (fixedType) {
6592
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
6590
6593
  renderColumnList = visibleColumn;
6594
+ }
6595
+ if (fixedType) {
6591
6596
  if (isOptimizeMode) {
6592
6597
  renderColumnList = fixedColumn || [];
6593
6598
  }
@@ -16278,7 +16283,6 @@ const Methods = {
16278
16283
  const reactData = $xeTable;
16279
16284
  const internalData = $xeTable;
16280
16285
  const {
16281
- isGroup,
16282
16286
  scrollXLoad,
16283
16287
  overflowX,
16284
16288
  scrollXWidth
@@ -16325,13 +16329,13 @@ const Methods = {
16325
16329
  marginLeft = `${xSpaceLeft}px`;
16326
16330
  }
16327
16331
  if (headerTableElem) {
16328
- headerTableElem.style.marginLeft = isGroup ? '' : marginLeft;
16332
+ headerTableElem.style.marginLeft = headerTableElem.getAttribute('xvm') ? marginLeft : '';
16329
16333
  }
16330
16334
  if (bodyTableElem) {
16331
16335
  bodyTableElem.style.marginLeft = marginLeft;
16332
16336
  }
16333
16337
  if (footerTableElem) {
16334
- footerTableElem.style.marginLeft = marginLeft;
16338
+ footerTableElem.style.marginLeft = footerTableElem.getAttribute('xvm') ? marginLeft : '';
16335
16339
  }
16336
16340
  reactData.isScrollXBig = isScrollXBig;
16337
16341
  const containerList = ['main'];
@@ -17984,10 +17988,10 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
17984
17988
  const isPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
17985
17989
  const headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(showHeaderOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
17986
17990
  const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
17987
- let showEllipsis = headOverflow === 'ellipsis';
17991
+ const showEllipsis = headOverflow === 'ellipsis';
17988
17992
  const showTitle = headOverflow === 'title';
17989
17993
  const showTooltip = headOverflow === true || headOverflow === 'tooltip';
17990
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
17994
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
17991
17995
  let hasFilter = false;
17992
17996
  let firstFilterOption = null;
17993
17997
  if (filters) {
@@ -18019,10 +18023,6 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
18019
18023
  click: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
18020
18024
  dblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
18021
18025
  };
18022
- // 虚拟滚动不支持动态高度
18023
- if (scrollXLoad && !hasEllipsis) {
18024
- showEllipsis = hasEllipsis = true;
18025
- }
18026
18026
  const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
18027
18027
  let isDisabledDrag = false;
18028
18028
  if (isColDragCell) {
@@ -18045,7 +18045,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
18045
18045
  const showResizable = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
18046
18046
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
18047
18047
  let isVNPreEmptyStatus = false;
18048
- if (!isGroup) {
18048
+ if (isOptimizeMode && !isGroup) {
18049
18049
  if (!dragCol || dragCol.id !== colid) {
18050
18050
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
18051
18051
  isVNPreEmptyStatus = true;
@@ -18240,7 +18240,6 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
18240
18240
  isColLoading,
18241
18241
  overflowX,
18242
18242
  scrollXLoad,
18243
- scrollYLoad,
18244
18243
  dragCol
18245
18244
  } = tableReactData;
18246
18245
  const {
@@ -18255,14 +18254,14 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
18255
18254
  renderColumnList = visibleColumn;
18256
18255
  } else {
18257
18256
  // 如果是使用优化模式
18258
- if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
18257
+ if (scrollXLoad && allColumnHeaderOverflow) {
18259
18258
  if (spanMethod || footerSpanMethod) {
18260
18259
  // 如果不支持优化模式
18261
18260
  } else {
18262
18261
  isOptimizeMode = true;
18263
18262
  }
18264
18263
  }
18265
- if (!isColLoading && (fixedType || !overflowX)) {
18264
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
18266
18265
  renderColumnList = visibleColumn;
18267
18266
  }
18268
18267
  if (fixedType) {
@@ -18385,7 +18384,7 @@ const {
18385
18384
  renderer: footer_renderer,
18386
18385
  renderEmptyElement: footer_renderEmptyElement
18387
18386
  } = core_.VxeUI;
18388
- function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
18387
+ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
18389
18388
  const props = _vm;
18390
18389
  const $xeTable = _vm.$parent;
18391
18390
  const tableProps = $xeTable;
@@ -18449,10 +18448,10 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18449
18448
  const isPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
18450
18449
  const footOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
18451
18450
  const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
18452
- let showEllipsis = footOverflow === 'ellipsis';
18451
+ const showEllipsis = footOverflow === 'ellipsis';
18453
18452
  const showTitle = footOverflow === 'title';
18454
18453
  const showTooltip = footOverflow === true || footOverflow === 'tooltip';
18455
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
18454
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
18456
18455
  const showResizable = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
18457
18456
  const attrs = {
18458
18457
  colid
@@ -18478,10 +18477,6 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18478
18477
  type: footer_renderType,
18479
18478
  data: footerTableData
18480
18479
  };
18481
- // 纵向虚拟滚动不支持动态行高
18482
- if (scrollXLoad && !hasEllipsis) {
18483
- showEllipsis = hasEllipsis = true;
18484
- }
18485
18480
  if (showTitle || showTooltip || showAllTip) {
18486
18481
  tfOns.mouseenter = evnt => {
18487
18482
  if (showTitle) {
@@ -18548,7 +18543,7 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18548
18543
  const isLastColumn = $columnIndex === tableColumn.length - 1;
18549
18544
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
18550
18545
  let isVNPreEmptyStatus = false;
18551
- if (!isMergeCell) {
18546
+ if (isOptimizeMode && !isMergeCell) {
18552
18547
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
18553
18548
  isVNPreEmptyStatus = true;
18554
18549
  }
@@ -18601,7 +18596,7 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18601
18596
  }) : footer_renderEmptyElement($xeTable)]);
18602
18597
  });
18603
18598
  }
18604
- function footer_renderHeads(h, _vm, renderColumnList) {
18599
+ function footer_renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
18605
18600
  const props = _vm;
18606
18601
  const $xeTable = _vm.$parent;
18607
18602
  const tableProps = $xeTable;
@@ -18639,13 +18634,13 @@ function footer_renderHeads(h, _vm, renderColumnList) {
18639
18634
  class: ['vxe-footer--row', footerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
18640
18635
  style: footerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : undefined
18641
18636
  }
18642
- }, footer_renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
18637
+ }, footer_renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
18643
18638
  }
18644
18639
  return h('tr', {
18645
18640
  key: $rowIndex,
18646
18641
  class: ['vxe-footer--row', footerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
18647
18642
  style: footerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : undefined
18648
- }, footer_renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
18643
+ }, footer_renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
18649
18644
  });
18650
18645
  }
18651
18646
  /* harmony default export */ var footer = ({
@@ -18733,20 +18728,19 @@ function footer_renderHeads(h, _vm, renderColumnList) {
18733
18728
  isColLoading,
18734
18729
  overflowX,
18735
18730
  scrollXLoad,
18736
- scrollYLoad,
18737
18731
  dragCol
18738
18732
  } = tableReactData;
18739
18733
  let renderColumnList = tableColumn;
18740
18734
  let isOptimizeMode = false;
18741
18735
  // 如果是使用优化模式
18742
- if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
18736
+ if (scrollXLoad && allColumnFooterOverflow) {
18743
18737
  if (spanMethod || footerSpanMethod) {
18744
18738
  // 如果不支持优化模式
18745
18739
  } else {
18746
18740
  isOptimizeMode = true;
18747
18741
  }
18748
18742
  }
18749
- if (!isColLoading && (fixedType || !overflowX)) {
18743
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
18750
18744
  renderColumnList = visibleColumn;
18751
18745
  }
18752
18746
  if (fixedType) {
@@ -18826,7 +18820,7 @@ function footer_renderHeads(h, _vm, renderColumnList) {
18826
18820
  */
18827
18821
  h('tfoot', {
18828
18822
  ref: 'refFooterTFoot'
18829
- }, footer_renderHeads(h, this, renderColumnList))])])]);
18823
+ }, footer_renderHeads(h, this, isOptimizeMode, renderColumnList))])])]);
18830
18824
  }
18831
18825
  });
18832
18826
  ;// CONCATENATED MODULE: ./packages/table/src/props.ts