vxe-table 3.21.4 → 3.21.5

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 (37) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/export/mixin.js +3 -3
  3. package/es/table/src/cell.js +8 -7
  4. package/es/table/src/columnInfo.js +1 -4
  5. package/es/table/src/methods.js +84 -0
  6. package/es/table/src/util.js +1 -0
  7. package/es/ui/index.js +1 -1
  8. package/es/ui/src/log.js +1 -1
  9. package/lib/index.umd.js +18 -21
  10. package/lib/index.umd.min.js +1 -1
  11. package/lib/style.css +1 -1
  12. package/lib/table/module/export/mixin.js +3 -3
  13. package/lib/table/module/export/mixin.min.js +1 -1
  14. package/lib/table/src/cell.js +8 -8
  15. package/lib/table/src/cell.min.js +1 -1
  16. package/lib/table/src/columnInfo.js +1 -5
  17. package/lib/table/src/columnInfo.min.js +1 -1
  18. package/lib/table/src/methods.js +3 -3
  19. package/lib/table/src/methods.min.js +1 -1
  20. package/lib/table/src/util.js +1 -0
  21. package/lib/table/src/util.min.js +1 -1
  22. package/lib/ui/index.js +1 -1
  23. package/lib/ui/index.min.js +1 -1
  24. package/lib/ui/src/log.js +1 -1
  25. package/lib/ui/src/log.min.js +1 -1
  26. package/package.json +2 -2
  27. package/packages/table/module/export/mixin.ts +3 -3
  28. package/packages/table/src/cell.ts +8 -7
  29. package/packages/table/src/columnInfo.ts +1 -5
  30. package/packages/table/src/methods.ts +85 -0
  31. package/packages/table/src/util.ts +1 -0
  32. /package/es/{iconfont.1779936730544.ttf → iconfont.1780200130470.ttf} +0 -0
  33. /package/es/{iconfont.1779936730544.woff → iconfont.1780200130470.woff} +0 -0
  34. /package/es/{iconfont.1779936730544.woff2 → iconfont.1780200130470.woff2} +0 -0
  35. /package/lib/{iconfont.1779936730544.ttf → iconfont.1780200130470.ttf} +0 -0
  36. /package/lib/{iconfont.1779936730544.woff → iconfont.1780200130470.woff} +0 -0
  37. /package/lib/{iconfont.1779936730544.woff2 → iconfont.1780200130470.woff2} +0 -0
@@ -365,7 +365,7 @@ function getBooleanValue(cellValue) {
365
365
  function getHeaderTitle($xeTable, opts, column) {
366
366
  const columnOpts = $xeTable.computeColumnOpts;
367
367
  const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod;
368
- return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.isTitle ? column.getTitle() : column.field) || '');
368
+ return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.isTitle ? $xeTable.getHeaderCellLabel(column) : column.field) || '');
369
369
  }
370
370
  function getFooterCellValue($xeTable, opts, row, column) {
371
371
  const columnOpts = $xeTable.computeColumnOpts;
@@ -883,12 +883,12 @@ function handleImport($xeTable, content, opts) {
883
883
  const tableTitleMaps = {};
884
884
  tableFullColumn.forEach((column) => {
885
885
  const field = column.field;
886
- const title = column.getTitle();
886
+ const title = $xeTable.getHeaderCellLabel(column);
887
887
  if (field) {
888
888
  tableFieldMaps[field] = column;
889
889
  }
890
890
  if (title) {
891
- tableTitleMaps[column.getTitle()] = column;
891
+ tableTitleMaps[title] = column;
892
892
  }
893
893
  });
894
894
  const tableConf = {
@@ -358,7 +358,7 @@ export const Cell = {
358
358
  return getSlotVNs(renderTitleContent(h, params, rtHeader.call($table, h, renderOpts, params)));
359
359
  }
360
360
  }
361
- return renderTitleContent(h, params, formatText(column.getTitle(), 1));
361
+ return renderTitleContent(h, params, $table.getHeaderCellLabel(column));
362
362
  },
363
363
  renderDefaultHeader(h, params) {
364
364
  return renderHeaderCellBaseVNs(h, params, Cell.renderHeaderTitle(h, params));
@@ -370,7 +370,7 @@ export const Cell = {
370
370
  const tableInternalData = $table;
371
371
  const { isRowGroupStatus } = tableReactData;
372
372
  const { editConfig } = tableProps;
373
- const { field, slots, editRender, cellRender, rowGroupNode, aggFunc, formatter } = column;
373
+ const { field, slots, editRender, cellRender, rowGroupNode, aggFunc } = column;
374
374
  const isEnableEdit = editConfig && isEnableConf(editConfig);
375
375
  const editRenderOpts = isEnableEdit && isEnableConf(editRender) ? editRender : null;
376
376
  const cellRenderOpts = isEnableConf(cellRender) ? cellRender : null;
@@ -445,8 +445,9 @@ export const Cell = {
445
445
  return renderCellBaseVNs(h, params, $table.callSlot(defaultSlot, params, h));
446
446
  }
447
447
  const renderOpts = editRenderOpts || cellRenderOpts;
448
- // formatter > (renderTableCell | renderTableDefault)
449
- if (renderOpts && !formatter) {
448
+ // 如果是编辑表格:renderTableCell > formatter
449
+ // 如果是查看表格:renderTableDefault > formatter
450
+ if (renderOpts) {
450
451
  const compConf = renderer.get(renderOpts.name);
451
452
  if (compConf) {
452
453
  const renderFn = editRenderOpts ? (compConf.renderTableCell || compConf.renderCell) : (compConf.renderTableDefault || compConf.renderDefault);
@@ -620,7 +621,7 @@ export const Cell = {
620
621
  renderSeqHeader(h, params) {
621
622
  const { $table, column } = params;
622
623
  const { slots } = column;
623
- return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : formatText(column.getTitle(), 1)));
624
+ return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : $table.getHeaderCellLabel(column)));
624
625
  },
625
626
  renderSeqCell(h, params) {
626
627
  const { $table, column } = params;
@@ -653,7 +654,7 @@ export const Cell = {
653
654
  : [
654
655
  h('span', {
655
656
  class: 'vxe-radio--label'
656
- }, titleSlot ? $table.callSlot(titleSlot, params, h) : formatText(column.getTitle(), 1))
657
+ }, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))
657
658
  ]));
658
659
  },
659
660
  renderRadioCell(h, params) {
@@ -723,7 +724,7 @@ export const Cell = {
723
724
  const titleSlot = slots ? slots.title : null;
724
725
  const checkboxOpts = $table.computeCheckboxOpts;
725
726
  const { checkStrictly, showHeader, headerTitle } = checkboxOpts;
726
- const colTitle = column.getTitle();
727
+ const colTitle = $table.getHeaderCellLabel(column);
727
728
  const ons = {};
728
729
  if (!isHidden) {
729
730
  ons.click = (evnt) => {
@@ -11,7 +11,7 @@ export class ColumnInfo {
11
11
  const $xeGrid = $xeTable.$xeGrid;
12
12
  const $xeGantt = $xeTable.$xeGantt;
13
13
  const $xeGGWrapper = $xeGrid || $xeGantt;
14
- const { field, editRender, filterRender, headerFormatter } = _vm;
14
+ const { field, editRender, filterRender } = _vm;
15
15
  const colId = _vm.colId || XEUtils.uniqueId('col_');
16
16
  const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : null;
17
17
  const formatter = _vm.formatter;
@@ -19,9 +19,6 @@ export class ColumnInfo {
19
19
  const flCompConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
20
20
  const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null;
21
21
  const filters = toFilters(_vm.filters, colId);
22
- if (headerFormatter) {
23
- errLog('vxe.error.notProp', ['header-formatter']);
24
- }
25
22
  const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
26
23
  if (_vm.type && types.indexOf(_vm.type) === -1) {
27
24
  warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
@@ -3786,6 +3786,7 @@ function handleInitColumn($xeTable, collectColumn) {
3786
3786
  loadScrollXData($xeTable);
3787
3787
  }
3788
3788
  });
3789
+ $xeTable.clearHeaderFormatterCache();
3789
3790
  $xeTable.clearMergeCells();
3790
3791
  $xeTable.clearMergeFooterItems();
3791
3792
  $xeTable.handleTableData(true);
@@ -5408,6 +5409,88 @@ const tableMethods = {
5408
5409
  }
5409
5410
  return $xeTable.$nextTick();
5410
5411
  },
5412
+ getHeaderCellLabel(fieldOrColumn) {
5413
+ const $xeTable = this;
5414
+ const internalData = $xeTable;
5415
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn);
5416
+ if (!column) {
5417
+ return null;
5418
+ }
5419
+ const { headerFormatter } = column;
5420
+ const _columnIndex = $xeTable.getVTColumnIndex(column);
5421
+ let cellLabel = column.getTitle();
5422
+ if (headerFormatter) {
5423
+ let formatData;
5424
+ const { headerFullDataColData } = internalData;
5425
+ const colid = column.id;
5426
+ let colRest = headerFullDataColData[colid];
5427
+ if (!colRest) {
5428
+ colRest = headerFullDataColData[colid] = {};
5429
+ }
5430
+ const formatObj = colRest.formatObj;
5431
+ if (formatObj && formatObj.value === cellLabel) {
5432
+ return formatObj.label;
5433
+ }
5434
+ const headFormatParams = {
5435
+ $table: $xeTable,
5436
+ cellTitle: cellLabel,
5437
+ cellValue: cellLabel,
5438
+ column,
5439
+ _columnIndex,
5440
+ columnIndex: $xeTable.getColumnIndex(column)
5441
+ };
5442
+ if (XEUtils.isString(headerFormatter)) {
5443
+ const gFormatOpts = formats.get(headerFormatter);
5444
+ const fcFormatMethod = gFormatOpts ? gFormatOpts.tableHeaderCellFormatMethod : null;
5445
+ cellLabel = XEUtils.toValueString(fcFormatMethod ? fcFormatMethod(headFormatParams) : '');
5446
+ }
5447
+ else if (XEUtils.isArray(headerFormatter)) {
5448
+ const gFormatOpts = formats.get(headerFormatter[0]);
5449
+ const fcFormatMethod = gFormatOpts ? gFormatOpts.tableHeaderCellFormatMethod : null;
5450
+ cellLabel = XEUtils.toValueString(fcFormatMethod ? fcFormatMethod(headFormatParams, ...headerFormatter.slice(1)) : '');
5451
+ }
5452
+ else {
5453
+ cellLabel = XEUtils.toValueString(headerFormatter(headFormatParams));
5454
+ }
5455
+ if (formatData) {
5456
+ colRest.formatObj = { value: cellLabel, label: cellLabel };
5457
+ }
5458
+ }
5459
+ return cellLabel;
5460
+ },
5461
+ updateHeaderCellLabel(fieldOrColumn) {
5462
+ const $xeTable = this;
5463
+ const internalData = $xeTable;
5464
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn);
5465
+ if (!column) {
5466
+ return '';
5467
+ }
5468
+ const { headerFullDataColData } = internalData;
5469
+ const colid = column.id;
5470
+ const colRest = headerFullDataColData[colid];
5471
+ if (colRest) {
5472
+ colRest.formatObj = undefined;
5473
+ }
5474
+ return $xeTable.getHeaderCellLabel(column);
5475
+ },
5476
+ clearHeaderFormatterCache(isUpdate) {
5477
+ const $xeTable = this;
5478
+ const reactData = $xeTable;
5479
+ const internalData = $xeTable;
5480
+ const { tableColumn } = reactData;
5481
+ const { headerFullDataColData } = internalData;
5482
+ XEUtils.each(headerFullDataColData, (colRest) => {
5483
+ if (colRest.formatObj) {
5484
+ colRest.formatObj = undefined;
5485
+ }
5486
+ });
5487
+ if (isUpdate) {
5488
+ tableColumn.forEach(column => {
5489
+ $xeTable.getHeaderCellLabel(column);
5490
+ });
5491
+ }
5492
+ return $xeTable.$nextTick();
5493
+ },
5411
5494
  getFooterCellLabel(row, fieldOrColumn) {
5412
5495
  const $xeTable = this;
5413
5496
  const reactData = $xeTable;
@@ -12458,6 +12541,7 @@ const tableMethods = {
12458
12541
  footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }) : [];
12459
12542
  }
12460
12543
  reactData.footerTableData = footData;
12544
+ $xeTable.clearFooterFormatterCache();
12461
12545
  $xeTable.handleUpdateFooterMerge();
12462
12546
  $xeTable.dispatchEvent('footer-data-change', {
12463
12547
  visibleColumn: internalData.visibleColumn,
@@ -77,6 +77,7 @@ export function createInternalData() {
77
77
  // 数据集(仅可视)
78
78
  visibleDataRowIdData: {},
79
79
  keepUpdateFieldMaps: {},
80
+ headerFullDataColData: {},
80
81
  footerFullDataRowData: {},
81
82
  // 渲染中缓存数据
82
83
  sourceDataRowIdData: {},
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.21.4";
3
+ export const version = "3.21.5";
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.21.4"}`;
3
+ const version = `table v${"3.21.5"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -3311,7 +3311,7 @@ function getClass(property, params) {
3311
3311
  /* unused harmony import specifier */ var VxeUI;
3312
3312
 
3313
3313
 
3314
- const version = "3.21.4";
3314
+ const version = "3.21.5";
3315
3315
  core_.VxeUI.version = version;
3316
3316
  core_.VxeUI.tableVersion = version;
3317
3317
  core_.VxeUI.setConfig({
@@ -3842,7 +3842,7 @@ var es_iterator_some = __webpack_require__(3579);
3842
3842
  const {
3843
3843
  log: log_log
3844
3844
  } = core_.VxeUI;
3845
- const log_version = `table v${"3.21.4"}`;
3845
+ const log_version = `table v${"3.21.5"}`;
3846
3846
  const warnLog = log_log.create('warn', log_version);
3847
3847
  const errLog = log_log.create('error', log_version);
3848
3848
  ;// ./packages/table/src/columnInfo.ts
@@ -3871,8 +3871,7 @@ class ColumnInfo {
3871
3871
  const {
3872
3872
  field,
3873
3873
  editRender,
3874
- filterRender,
3875
- headerFormatter
3874
+ filterRender
3876
3875
  } = _vm;
3877
3876
  const colId = _vm.colId || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('col_');
3878
3877
  const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : null;
@@ -3881,9 +3880,6 @@ class ColumnInfo {
3881
3880
  const flCompConf = isEnableConf(filterRender) ? columnInfo_renderer.get(filterRender.name) : null;
3882
3881
  const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null;
3883
3882
  const filters = toFilters(_vm.filters, colId);
3884
- if (headerFormatter) {
3885
- errLog('vxe.error.notProp', ['header-formatter']);
3886
- }
3887
3883
  const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
3888
3884
  if (_vm.type && types.indexOf(_vm.type) === -1) {
3889
3885
  warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
@@ -4393,6 +4389,7 @@ function createInternalData() {
4393
4389
  // 数据集(仅可视)
4394
4390
  visibleDataRowIdData: {},
4395
4391
  keepUpdateFieldMaps: {},
4392
+ headerFullDataColData: {},
4396
4393
  footerFullDataRowData: {},
4397
4394
  // 渲染中缓存数据
4398
4395
  sourceDataRowIdData: {},
@@ -5816,7 +5813,7 @@ const Cell = {
5816
5813
  return getSlotVNs(renderTitleContent(h, params, rtHeader.call($table, h, renderOpts, params)));
5817
5814
  }
5818
5815
  }
5819
- return renderTitleContent(h, params, formatText(column.getTitle(), 1));
5816
+ return renderTitleContent(h, params, $table.getHeaderCellLabel(column));
5820
5817
  },
5821
5818
  renderDefaultHeader(h, params) {
5822
5819
  return renderHeaderCellBaseVNs(h, params, Cell.renderHeaderTitle(h, params));
@@ -5842,8 +5839,7 @@ const Cell = {
5842
5839
  editRender,
5843
5840
  cellRender,
5844
5841
  rowGroupNode,
5845
- aggFunc,
5846
- formatter
5842
+ aggFunc
5847
5843
  } = column;
5848
5844
  const isEnableEdit = editConfig && isEnableConf(editConfig);
5849
5845
  const editRenderOpts = isEnableEdit && isEnableConf(editRender) ? editRender : null;
@@ -5941,8 +5937,9 @@ const Cell = {
5941
5937
  return renderCellBaseVNs(h, params, $table.callSlot(defaultSlot, params, h));
5942
5938
  }
5943
5939
  const renderOpts = editRenderOpts || cellRenderOpts;
5944
- // formatter > (renderTableCell | renderTableDefault)
5945
- if (renderOpts && !formatter) {
5940
+ // 如果是编辑表格:renderTableCell > formatter
5941
+ // 如果是查看表格:renderTableDefault > formatter
5942
+ if (renderOpts) {
5946
5943
  const compConf = cell_renderer.get(renderOpts.name);
5947
5944
  if (compConf) {
5948
5945
  const renderFn = editRenderOpts ? compConf.renderTableCell || compConf.renderCell : compConf.renderTableDefault || compConf.renderDefault;
@@ -6145,7 +6142,7 @@ const Cell = {
6145
6142
  const {
6146
6143
  slots
6147
6144
  } = column;
6148
- return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : formatText(column.getTitle(), 1)));
6145
+ return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : $table.getHeaderCellLabel(column)));
6149
6146
  },
6150
6147
  renderSeqCell(h, params) {
6151
6148
  const {
@@ -6187,7 +6184,7 @@ const Cell = {
6187
6184
  const titleSlot = slots ? slots.title : null;
6188
6185
  return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, headerSlot ? $table.callSlot(headerSlot, params, h) : [h('span', {
6189
6186
  class: 'vxe-radio--label'
6190
- }, titleSlot ? $table.callSlot(titleSlot, params, h) : formatText(column.getTitle(), 1))]));
6187
+ }, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))]));
6191
6188
  },
6192
6189
  renderRadioCell(h, params) {
6193
6190
  const {
@@ -6292,7 +6289,7 @@ const Cell = {
6292
6289
  showHeader,
6293
6290
  headerTitle
6294
6291
  } = checkboxOpts;
6295
- const colTitle = column.getTitle();
6292
+ const colTitle = $table.getHeaderCellLabel(column);
6296
6293
  const ons = {};
6297
6294
  if (!isHidden) {
6298
6295
  ons.click = evnt => {
@@ -7843,7 +7840,7 @@ tableFullColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){le
7843
7840
  // }
7844
7841
  if(props.spanMethod){warnLog('vxe.error.scrollErrProp',['span-method']);}if(props.footerSpanMethod){warnLog('vxe.error.scrollErrProp',['footer-span-method']);}if(isReset){const{visibleSize}=handleVirtualXVisible($xeTable);scrollXStore.startIndex=0;scrollXStore.endIndex=visibleSize;scrollXStore.visibleSize=visibleSize;scrollXStore.visibleStartIndex=0;scrollXStore.visibleEndIndex=visibleSize;}}// 如果列被显示/隐藏,则清除合并状态
7845
7842
  // 如果列被设置为固定,则清除合并状态
7846
- if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn($xeTable);handleUpdateAggValues($xeTable);if(isReset){return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();}function initColumnHierarchy($xeTable){const internalData=$xeTable;const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;}function handleInitColumn($xeTable,collectColumn){const props=$xeTable;const $xeToolbar=$xeTable.$refs.$xeToolbar;const reactData=$xeTable;const internalData=$xeTable;const expandOpts=$xeTable.computeExpandOpts;internalData.collectColumn=collectColumn;const tFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;reactData.isColLoading=true;initColumnHierarchy($xeTable);return Promise.resolve(restoreCustomStorage($xeTable)).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap($xeTable);parseColumns($xeTable,true).then(()=>{if(reactData.scrollXLoad){loadScrollXData($xeTable);}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return $xeTable.$nextTick().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}const columnOpts=$xeTable.computeColumnOpts;if(props.showCustomHeader&&reactData.isGroup&&(columnOpts.resizable||props.resizable)){warnLog('vxe.error.notConflictProp',['show-custom-header & colgroup','column-config.resizable=false']);}reactData.isColLoading=false;return handleLazyRecalculate($xeTable,false,true,true);});});}/**
7843
+ if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn($xeTable);handleUpdateAggValues($xeTable);if(isReset){return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();}function initColumnHierarchy($xeTable){const internalData=$xeTable;const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;}function handleInitColumn($xeTable,collectColumn){const props=$xeTable;const $xeToolbar=$xeTable.$refs.$xeToolbar;const reactData=$xeTable;const internalData=$xeTable;const expandOpts=$xeTable.computeExpandOpts;internalData.collectColumn=collectColumn;const tFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;reactData.isColLoading=true;initColumnHierarchy($xeTable);return Promise.resolve(restoreCustomStorage($xeTable)).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap($xeTable);parseColumns($xeTable,true).then(()=>{if(reactData.scrollXLoad){loadScrollXData($xeTable);}});$xeTable.clearHeaderFormatterCache();$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return $xeTable.$nextTick().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}const columnOpts=$xeTable.computeColumnOpts;if(props.showCustomHeader&&reactData.isGroup&&(columnOpts.resizable||props.resizable)){warnLog('vxe.error.notConflictProp',['show-custom-header & colgroup','column-config.resizable=false']);}reactData.isColLoading=false;return handleLazyRecalculate($xeTable,false,true,true);});});}/**
7847
7844
  * 纵向 Y 可视渲染处理
7848
7845
  */function loadScrollYData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isAllOverflow,isScrollYBig}=reactData;const{mergeBodyList,mergeBodyRowMaps,scrollYStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollYStore;const autoOffsetYSize=isAllOverflow?offsetSize:offsetSize+1;const{toVisibleIndex,visibleSize}=handleVirtualYVisible($xeTable);const offsetItem={startIndex:Math.max(0,isScrollYBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollYBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+autoOffsetYSize+preloadSize};scrollYStore.visibleStartIndex=toVisibleIndex-1;scrollYStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList,mergeBodyRowMaps,offsetItem,'row');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollYStore.startIndex=offsetStartIndex;scrollYStore.endIndex=offsetEndIndex;$xeTable.updateScrollYData();}}}const createGetRowCacheProp=prop=>{return function(row){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;if(row){const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest[prop];}}return-1;};};const createGetColumnCacheProp=prop=>{return function(column){const $xeTable=this;const internalData=$xeTable;const{fullColumnIdData}=internalData;if(column){const colRest=fullColumnIdData[column.id];if(colRest){return colRest[prop];}}return-1;};};function lazyScrollXData($xeTable){const internalData=$xeTable;const{lxTimeout,lxRunTime,scrollXStore}=internalData;const{visibleSize}=scrollXStore;const fpsTime=visibleSize>26?26:visibleSize>16?14:6;if(lxTimeout){clearTimeout(lxTimeout);}if(!lxRunTime||lxRunTime+fpsTime<Date.now()){internalData.lxRunTime=Date.now();loadScrollXData($xeTable);}internalData.lxTimeout=setTimeout(()=>{internalData.lxTimeout=undefined;internalData.lxRunTime=undefined;loadScrollXData($xeTable);},fpsTime);}function lazyScrollYData($xeTable){const internalData=$xeTable;const{lyTimeout,lyRunTime,scrollYStore}=internalData;const{visibleSize}=scrollYStore;const fpsTime=visibleSize>30?32:visibleSize>20?18:8;if(lyTimeout){clearTimeout(lyTimeout);}if(!lyRunTime||lyRunTime+fpsTime<Date.now()){internalData.lyRunTime=Date.now();loadScrollYData($xeTable);}internalData.lyTimeout=setTimeout(()=>{internalData.lyTimeout=undefined;internalData.lyRunTime=undefined;loadScrollYData($xeTable);},fpsTime);}function handleSyncScroll($xeTable,isRollX,isRollY){const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad,scrollYLoad,isAllOverflow}=reactData;internalData.lcsRunTime=Date.now();internalData.lcsTimeout=undefined;internalData.intoRunScroll=false;internalData.inVirtualScroll=false;internalData.inWheelScroll=false;internalData.inHeaderScroll=false;internalData.inBodyScroll=false;internalData.inFooterScroll=false;reactData.lazScrollLoading=false;internalData.scrollRenderType='';let xRest=null;let yRest=null;if(!isAllOverflow){calcCellHeight($xeTable);updateRowOffsetTop($xeTable);}if(isRollX&&scrollXLoad){xRest=$xeTable.updateScrollXData();}if(isRollY&&scrollYLoad){yRest=$xeTable.updateScrollYData().then(()=>{if(!isAllOverflow){calcCellHeight($xeTable);updateRowOffsetTop($xeTable);}return $xeTable.updateScrollYSpace();});}updateRowExpandStyle($xeTable);return Promise.all([xRest,yRest,scrollXLoad||scrollYLoad?$xeTable.updateCellAreas():null]);}function checkLastSyncScroll($xeTable,isRollX,isRollY){const reactData=$xeTable;const internalData=$xeTable;const{lcsTimeout}=internalData;reactData.lazScrollLoading=true;if(lcsTimeout){clearTimeout(lcsTimeout);}internalData.lcsTimeout=setTimeout(()=>{handleSyncScroll($xeTable,isRollX,isRollY).then(()=>{if(reactData.scrollXLoad||reactData.scrollYLoad){$xeTable.$nextTick(()=>{updateRowExpandStyle($xeTable);if(!internalData.lcsTimeout){handleSyncScroll($xeTable,isRollX,isRollY);}});}});},240);}const getWheelSpeed=lastScrollTime=>{let multiple=1;const currTime=Date.now();if(lastScrollTime+25>currTime){multiple=1.18;}else if(lastScrollTime+30>currTime){multiple=1.15;}else if(lastScrollTime+40>currTime){multiple=1.12;}else if(lastScrollTime+55>currTime){multiple=1.09;}else if(lastScrollTime+75>currTime){multiple=1.06;}else if(lastScrollTime+100>currTime){multiple=1.03;}return multiple;};const syncGanttScrollTop=($xeTable,scrollTop)=>{const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;if($xeGanttView){const ganttInternalData=$xeGanttView.internalData;const{elemStore:ganttElemStore}=ganttInternalData;const ganttBodyScrollElem=getRefElem(ganttElemStore['main-body-scroll']);if(ganttBodyScrollElem){ganttBodyScrollElem.scrollTop=scrollTop;}}};function updateHeight($xeTable){const reactData=$xeTable;const internalData=$xeTable;internalData.customHeight=calcTableHeight($xeTable,'height');internalData.customMinHeight=calcTableHeight($xeTable,'minHeight');internalData.customMaxHeight=calcTableHeight($xeTable,'maxHeight');// 如果启用虚拟滚动,纠正高度
7849
7846
  if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight||internalData.customMaxHeight)){internalData.customHeight=300;}}/**
@@ -7978,7 +7975,7 @@ if(eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_x
7978
7975
  * @param {Array/Row} rows 行数据
7979
7976
  * @param {String} field 字段名
7980
7977
  */clearData(rows,field){const $xeTable=this;const internalData=$xeTable;const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){setCellValue(row,column,null);}});});}return $xeTable.$nextTick();},getCellElement(row,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{elemStore}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const rowid=getRowid($xeTable,row);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{editConfig}=props;const{formatter,editRender,cellRender}=column;// formatter > tableCellFormatter
7981
- const renderOpts=formatter?null:editConfig&&isEnableConf(editRender)?editRender:isEnableConf(cellRender)?cellRender:null;const compConf=renderOpts?methods_renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=getCellValue(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(formatter)){const gFormatOpts=methods_formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(formatter)){const gFormatOpts=methods_formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel=tcFormatter(renderOpts,formatParams);}if(formatData){formatData[colid]={value:cellValue,label:cellLabel};}}return cellLabel;},updateCellLabel(row,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);if(rowid){const colid=column.id;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}}return $xeTable.getFooterCellLabel(row,column);},clearFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableData,tableColumn}=reactData;const{fullAllDataRowIdData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getCellLabel(row,column);});});}return $xeTable.$nextTick();},getFooterCellLabel(row,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
7978
+ const renderOpts=formatter?null:editConfig&&isEnableConf(editRender)?editRender:isEnableConf(cellRender)?cellRender:null;const compConf=renderOpts?methods_renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=getCellValue(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(formatter)){const gFormatOpts=methods_formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(formatter)){const gFormatOpts=methods_formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel=tcFormatter(renderOpts,formatParams);}if(formatData){formatData[colid]={value:cellValue,label:cellLabel};}}return cellLabel;},updateCellLabel(row,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);if(rowid){const colid=column.id;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}}return $xeTable.getFooterCellLabel(row,column);},clearFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableData,tableColumn}=reactData;const{fullAllDataRowIdData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getCellLabel(row,column);});});}return $xeTable.$nextTick();},getHeaderCellLabel(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{headerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let cellLabel=column.getTitle();if(headerFormatter){let formatData;const{headerFullDataColData}=internalData;const colid=column.id;let colRest=headerFullDataColData[colid];if(!colRest){colRest=headerFullDataColData[colid]={};}const formatObj=colRest.formatObj;if(formatObj&&formatObj.value===cellLabel){return formatObj.label;}const headFormatParams={$table:$xeTable,cellTitle:cellLabel,cellValue:cellLabel,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(headerFormatter)){const gFormatOpts=methods_formats.get(headerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(fcFormatMethod?fcFormatMethod(headFormatParams):'');}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(headerFormatter)){const gFormatOpts=methods_formats.get(headerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(fcFormatMethod?fcFormatMethod(headFormatParams,...headerFormatter.slice(1)):'');}else{cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(headerFormatter(headFormatParams));}if(formatData){colRest.formatObj={value:cellLabel,label:cellLabel};}}return cellLabel;},updateHeaderCellLabel(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return'';}const{headerFullDataColData}=internalData;const colid=column.id;const colRest=headerFullDataColData[colid];if(colRest){colRest.formatObj=undefined;}return $xeTable.getHeaderCellLabel(column);},clearHeaderFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableColumn}=reactData;const{headerFullDataColData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(headerFullDataColData,colRest=>{if(colRest.formatObj){colRest.formatObj=undefined;}});if(isUpdate){tableColumn.forEach(column=>{$xeTable.getHeaderCellLabel(column);});}return $xeTable.$nextTick();},getFooterCellLabel(row,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
7982
7979
  if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(row)){itemValue=row[_columnIndex];}else{itemValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,column.field);}let cellLabel=itemValue;if(footerFormatter){let formatData;const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);let rowRest=null;if($rowIndex>-1){rowRest=footerFullDataRowData[$rowIndex];if(!rowRest){rowRest=footerFullDataRowData[$rowIndex]={};}formatData=rowRest.formatData;if(!formatData){formatData=footerFullDataRowData[$rowIndex].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===itemValue){return formatData[colid].label;}}}const footerFormatParams={$table:$xeTable,cellValue:itemValue,itemValue,row,items:row,$rowIndex,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(footerFormatter)){const gFormatOpts=methods_formats.get(footerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerFormatter)){const gFormatOpts=methods_formats.get(footerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams,...footerFormatter.slice(1)):'';}else{cellLabel=footerFormatter(footerFormatParams);}if(formatData){formatData[colid]={value:itemValue,label:cellLabel};}}return cellLabel;},updateFooterCellLabel(row,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);const rowRest=footerFullDataRowData[$rowIndex];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}return $xeTable.getFooterCellLabel(row,column);},clearFooterFormatterCache(isUpdate){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableData,tableColumn}=reactData;const{footerFullDataRowData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(footerFullDataRowData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getFooterCellLabel(row,column);});});}return $xeTable.$nextTick();},/**
7983
7980
  * 检查是否为临时行数据
7984
7981
  */isInsertByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const rowid=getRowid($xeTable,row);return!!reactData.insertRowFlag&&!!internalData.insertRowMaps[rowid];},isRemoveByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const rowid=getRowid($xeTable,row);return!!reactData.removeRowFlag&&!!internalData.removeRowMaps[rowid];},/**
@@ -8432,7 +8429,7 @@ internalData._sToTime=setTimeout(()=>{internalData._sToTime=undefined;if(scrollY
8432
8429
  * 手动清除滚动相关信息,还原到初始状态
8433
8430
  */clearScroll(){const $xeTable=this;const internalData=$xeTable;const{elemStore,scrollXStore,scrollYStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;internalData.intoRunScroll=true;setScrollLeft(xHandleEl,0);setScrollLeft(bodyScrollElem,0);setScrollLeft(headerScrollElem,0);setScrollLeft(footerScrollElem,0);setScrollTop(yHandleEl,0);setScrollTop(bodyScrollElem,0);setScrollTop(leftScrollElem,0);setScrollTop(rightScrollElem,0);scrollXStore.startIndex=0;scrollXStore.visibleStartIndex=0;scrollXStore.endIndex=scrollXStore.visibleSize;scrollXStore.visibleEndIndex=scrollXStore.visibleSize;scrollYStore.startIndex=0;scrollYStore.visibleStartIndex=0;scrollYStore.endIndex=scrollYStore.visibleSize;scrollYStore.visibleEndIndex=scrollYStore.visibleSize;return $xeTable.$nextTick().then(()=>{internalData.lastScrollLeft=0;internalData.lastScrollTop=0;internalData.intoRunScroll=false;});},/**
8434
8431
  * 更新表尾合计
8435
- */updateFooter(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const{showFooter,footerData,footerMethod}=props;const{visibleColumn,afterFullData}=internalData;let footData=[];if(showFooter&&footerData&&footerData.length){footData=footerData.slice(0);}else if(showFooter&&footerMethod){footData=visibleColumn.length?footerMethod({columns:visibleColumn,data:afterFullData,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}):[];}reactData.footerTableData=footData;$xeTable.handleUpdateFooterMerge();$xeTable.dispatchEvent('footer-data-change',{visibleColumn:internalData.visibleColumn,footData},null);return $xeTable.$nextTick();},/**
8432
+ */updateFooter(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const{showFooter,footerData,footerMethod}=props;const{visibleColumn,afterFullData}=internalData;let footData=[];if(showFooter&&footerData&&footerData.length){footData=footerData.slice(0);}else if(showFooter&&footerMethod){footData=visibleColumn.length?footerMethod({columns:visibleColumn,data:afterFullData,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}):[];}reactData.footerTableData=footData;$xeTable.clearFooterFormatterCache();$xeTable.handleUpdateFooterMerge();$xeTable.dispatchEvent('footer-data-change',{visibleColumn:internalData.visibleColumn,footData},null);return $xeTable.$nextTick();},/**
8436
8433
  * 更新列状态 updateStatus({ row, column }, cellValue)
8437
8434
  * 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
8438
8435
  * 如果单元格配置了校验规则,则会进行校验
@@ -16408,7 +16405,7 @@ function getHeaderTitle($xeTable, opts, column) {
16408
16405
  column,
16409
16406
  options: opts,
16410
16407
  $table: $xeTable
16411
- }) : (opts.isTitle ? column.getTitle() : column.field) || '';
16408
+ }) : (opts.isTitle ? $xeTable.getHeaderCellLabel(column) : column.field) || '';
16412
16409
  }
16413
16410
  function getFooterCellValue($xeTable, opts, row, column) {
16414
16411
  const columnOpts = $xeTable.computeColumnOpts;
@@ -17015,12 +17012,12 @@ function handleImport($xeTable, content, opts) {
17015
17012
  const tableTitleMaps = {};
17016
17013
  tableFullColumn.forEach(column => {
17017
17014
  const field = column.field;
17018
- const title = column.getTitle();
17015
+ const title = $xeTable.getHeaderCellLabel(column);
17019
17016
  if (field) {
17020
17017
  tableFieldMaps[field] = column;
17021
17018
  }
17022
17019
  if (title) {
17023
- tableTitleMaps[column.getTitle()] = column;
17020
+ tableTitleMaps[title] = column;
17024
17021
  }
17025
17022
  });
17026
17023
  const tableConf = {