vxe-table 3.15.8 → 3.15.9

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) {
1052
1054
  renderColumnList = visibleColumn;
1055
+ }
1056
+ if (fixedType) {
1053
1057
  if (isOptimizeMode) {
1054
1058
  renderColumnList = fixedColumn || [];
1055
1059
  }
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.9";
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.9"}`;
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.9";
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.9"}`;
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) {
6590
6593
  renderColumnList = visibleColumn;
6594
+ }
6595
+ if (fixedType) {
6591
6596
  if (isOptimizeMode) {
6592
6597
  renderColumnList = fixedColumn || [];
6593
6598
  }
@@ -17984,10 +17989,10 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
17984
17989
  const isPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
17985
17990
  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
17991
  const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
17987
- let showEllipsis = headOverflow === 'ellipsis';
17992
+ const showEllipsis = headOverflow === 'ellipsis';
17988
17993
  const showTitle = headOverflow === 'title';
17989
17994
  const showTooltip = headOverflow === true || headOverflow === 'tooltip';
17990
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
17995
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
17991
17996
  let hasFilter = false;
17992
17997
  let firstFilterOption = null;
17993
17998
  if (filters) {
@@ -18019,10 +18024,6 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
18019
18024
  click: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
18020
18025
  dblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
18021
18026
  };
18022
- // 虚拟滚动不支持动态高度
18023
- if (scrollXLoad && !hasEllipsis) {
18024
- showEllipsis = hasEllipsis = true;
18025
- }
18026
18027
  const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
18027
18028
  let isDisabledDrag = false;
18028
18029
  if (isColDragCell) {
@@ -18045,7 +18046,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
18045
18046
  const showResizable = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
18046
18047
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
18047
18048
  let isVNPreEmptyStatus = false;
18048
- if (!isGroup) {
18049
+ if (isOptimizeMode && !isGroup) {
18049
18050
  if (!dragCol || dragCol.id !== colid) {
18050
18051
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
18051
18052
  isVNPreEmptyStatus = true;
@@ -18240,7 +18241,6 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
18240
18241
  isColLoading,
18241
18242
  overflowX,
18242
18243
  scrollXLoad,
18243
- scrollYLoad,
18244
18244
  dragCol
18245
18245
  } = tableReactData;
18246
18246
  const {
@@ -18255,14 +18255,14 @@ function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
18255
18255
  renderColumnList = visibleColumn;
18256
18256
  } else {
18257
18257
  // 如果是使用优化模式
18258
- if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
18258
+ if (scrollXLoad && allColumnHeaderOverflow) {
18259
18259
  if (spanMethod || footerSpanMethod) {
18260
18260
  // 如果不支持优化模式
18261
18261
  } else {
18262
18262
  isOptimizeMode = true;
18263
18263
  }
18264
18264
  }
18265
- if (!isColLoading && (fixedType || !overflowX)) {
18265
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
18266
18266
  renderColumnList = visibleColumn;
18267
18267
  }
18268
18268
  if (fixedType) {
@@ -18385,7 +18385,7 @@ const {
18385
18385
  renderer: footer_renderer,
18386
18386
  renderEmptyElement: footer_renderEmptyElement
18387
18387
  } = core_.VxeUI;
18388
- function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
18388
+ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
18389
18389
  const props = _vm;
18390
18390
  const $xeTable = _vm.$parent;
18391
18391
  const tableProps = $xeTable;
@@ -18449,10 +18449,10 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18449
18449
  const isPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
18450
18450
  const footOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
18451
18451
  const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
18452
- let showEllipsis = footOverflow === 'ellipsis';
18452
+ const showEllipsis = footOverflow === 'ellipsis';
18453
18453
  const showTitle = footOverflow === 'title';
18454
18454
  const showTooltip = footOverflow === true || footOverflow === 'tooltip';
18455
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
18455
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
18456
18456
  const showResizable = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
18457
18457
  const attrs = {
18458
18458
  colid
@@ -18478,10 +18478,6 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18478
18478
  type: footer_renderType,
18479
18479
  data: footerTableData
18480
18480
  };
18481
- // 纵向虚拟滚动不支持动态行高
18482
- if (scrollXLoad && !hasEllipsis) {
18483
- showEllipsis = hasEllipsis = true;
18484
- }
18485
18481
  if (showTitle || showTooltip || showAllTip) {
18486
18482
  tfOns.mouseenter = evnt => {
18487
18483
  if (showTitle) {
@@ -18548,7 +18544,7 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18548
18544
  const isLastColumn = $columnIndex === tableColumn.length - 1;
18549
18545
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
18550
18546
  let isVNPreEmptyStatus = false;
18551
- if (!isMergeCell) {
18547
+ if (isOptimizeMode && !isMergeCell) {
18552
18548
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
18553
18549
  isVNPreEmptyStatus = true;
18554
18550
  }
@@ -18601,7 +18597,7 @@ function footer_renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex,
18601
18597
  }) : footer_renderEmptyElement($xeTable)]);
18602
18598
  });
18603
18599
  }
18604
- function footer_renderHeads(h, _vm, renderColumnList) {
18600
+ function footer_renderHeads(h, _vm, isOptimizeMode, renderColumnList) {
18605
18601
  const props = _vm;
18606
18602
  const $xeTable = _vm.$parent;
18607
18603
  const tableProps = $xeTable;
@@ -18639,13 +18635,13 @@ function footer_renderHeads(h, _vm, renderColumnList) {
18639
18635
  class: ['vxe-footer--row', footerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
18640
18636
  style: footerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : undefined
18641
18637
  }
18642
- }, footer_renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
18638
+ }, footer_renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
18643
18639
  }
18644
18640
  return h('tr', {
18645
18641
  key: $rowIndex,
18646
18642
  class: ['vxe-footer--row', footerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
18647
18643
  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));
18644
+ }, footer_renderRows(h, _vm, isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
18649
18645
  });
18650
18646
  }
18651
18647
  /* harmony default export */ var footer = ({
@@ -18733,20 +18729,19 @@ function footer_renderHeads(h, _vm, renderColumnList) {
18733
18729
  isColLoading,
18734
18730
  overflowX,
18735
18731
  scrollXLoad,
18736
- scrollYLoad,
18737
18732
  dragCol
18738
18733
  } = tableReactData;
18739
18734
  let renderColumnList = tableColumn;
18740
18735
  let isOptimizeMode = false;
18741
18736
  // 如果是使用优化模式
18742
- if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
18737
+ if (scrollXLoad && allColumnFooterOverflow) {
18743
18738
  if (spanMethod || footerSpanMethod) {
18744
18739
  // 如果不支持优化模式
18745
18740
  } else {
18746
18741
  isOptimizeMode = true;
18747
18742
  }
18748
18743
  }
18749
- if (!isColLoading && (fixedType || !overflowX)) {
18744
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
18750
18745
  renderColumnList = visibleColumn;
18751
18746
  }
18752
18747
  if (fixedType) {
@@ -18826,7 +18821,7 @@ function footer_renderHeads(h, _vm, renderColumnList) {
18826
18821
  */
18827
18822
  h('tfoot', {
18828
18823
  ref: 'refFooterTFoot'
18829
- }, footer_renderHeads(h, this, renderColumnList))])])]);
18824
+ }, footer_renderHeads(h, this, isOptimizeMode, renderColumnList))])])]);
18830
18825
  }
18831
18826
  });
18832
18827
  ;// CONCATENATED MODULE: ./packages/table/src/props.ts