vxe-table 4.10.6-beta.30 → 4.10.6-beta.32

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 (41) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/src/body.js +6 -6
  3. package/es/table/src/cell.js +13 -9
  4. package/es/table/src/footer.js +2 -2
  5. package/es/table/src/header.js +2 -2
  6. package/es/table/src/props.js +8 -2
  7. package/es/table/src/table.js +14 -7
  8. package/es/ui/index.js +3 -1
  9. package/es/ui/src/log.js +1 -1
  10. package/lib/index.umd.js +45 -21
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/src/body.js +7 -4
  14. package/lib/table/src/body.min.js +1 -1
  15. package/lib/table/src/cell.js +5 -4
  16. package/lib/table/src/cell.min.js +1 -1
  17. package/lib/table/src/footer.js +2 -1
  18. package/lib/table/src/footer.min.js +1 -1
  19. package/lib/table/src/header.js +2 -1
  20. package/lib/table/src/header.min.js +1 -1
  21. package/lib/table/src/props.js +8 -2
  22. package/lib/table/src/table.js +17 -7
  23. package/lib/table/src/table.min.js +1 -1
  24. package/lib/ui/index.js +3 -1
  25. package/lib/ui/index.min.js +1 -1
  26. package/lib/ui/src/log.js +1 -1
  27. package/lib/ui/src/log.min.js +1 -1
  28. package/package.json +2 -2
  29. package/packages/table/src/body.ts +10 -10
  30. package/packages/table/src/cell.ts +13 -9
  31. package/packages/table/src/footer.ts +2 -2
  32. package/packages/table/src/header.ts +2 -2
  33. package/packages/table/src/props.ts +8 -3
  34. package/packages/table/src/table.ts +14 -7
  35. package/packages/ui/index.ts +2 -0
  36. /package/es/{iconfont.1737460213413.ttf → iconfont.1738648607811.ttf} +0 -0
  37. /package/es/{iconfont.1737460213413.woff → iconfont.1738648607811.woff} +0 -0
  38. /package/es/{iconfont.1737460213413.woff2 → iconfont.1738648607811.woff2} +0 -0
  39. /package/lib/{iconfont.1737460213413.ttf → iconfont.1738648607811.ttf} +0 -0
  40. /package/lib/{iconfont.1737460213413.woff → iconfont.1738648607811.woff} +0 -0
  41. /package/lib/{iconfont.1737460213413.woff2 → iconfont.1738648607811.woff2} +0 -0
@@ -805,7 +805,7 @@ export const Cell = {
805
805
  const { $table, column } = params;
806
806
  const { computeSortOpts } = $table.getComputeMaps();
807
807
  const sortOpts = computeSortOpts.value;
808
- const { showIcon, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts;
808
+ const { showIcon, allowBtn, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts;
809
809
  const { order } = column;
810
810
  if (showIcon && (!iconVisibleMethod || iconVisibleMethod(params))) {
811
811
  return [
@@ -817,20 +817,24 @@ export const Cell = {
817
817
  'sort--active': order === 'asc'
818
818
  }],
819
819
  title: getI18n('vxe.table.sortAsc'),
820
- onClick(evnt) {
821
- evnt.stopPropagation();
822
- $table.triggerSortEvent(evnt, column, 'asc');
823
- }
820
+ onClick: allowBtn
821
+ ? (evnt) => {
822
+ evnt.stopPropagation();
823
+ $table.triggerSortEvent(evnt, column, 'asc');
824
+ }
825
+ : undefined
824
826
  }),
825
827
  h('i', {
826
828
  class: ['vxe-sort--desc-btn', iconDesc || getIcon().TABLE_SORT_DESC, {
827
829
  'sort--active': order === 'desc'
828
830
  }],
829
831
  title: getI18n('vxe.table.sortDesc'),
830
- onClick(evnt) {
831
- evnt.stopPropagation();
832
- $table.triggerSortEvent(evnt, column, 'desc');
833
- }
832
+ onClick: allowBtn
833
+ ? (evnt) => {
834
+ evnt.stopPropagation();
835
+ $table.triggerSortEvent(evnt, column, 'desc');
836
+ }
837
+ : undefined
834
838
  })
835
839
  ])
836
840
  ];
@@ -196,13 +196,13 @@ export default defineComponent({
196
196
  const renderHeads = (renderColumnList) => {
197
197
  const { fixedType, footerTableData } = props;
198
198
  const { footerRowClassName, footerRowStyle } = tableProps;
199
- const { isDragColMove } = tableReactData;
199
+ const { isColLoading, isDragColMove } = tableReactData;
200
200
  const columnOpts = computeColumnOpts.value;
201
201
  const columnDragOpts = computeColumnDragOpts.value;
202
202
  return footerTableData.map((row, $rowIndex) => {
203
203
  const _rowIndex = $rowIndex;
204
204
  const rowParams = { $table: $xeTable, row, _rowIndex, $rowIndex, fixed: fixedType, type: renderType };
205
- if (columnOpts.drag && columnDragOpts.animation) {
205
+ if (!isColLoading && columnOpts.drag && columnDragOpts.animation) {
206
206
  return h(TransitionGroup, {
207
207
  key: $rowIndex,
208
208
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
@@ -165,12 +165,12 @@ export default defineComponent({
165
165
  const renderHeads = (isGroup, isOptimizeMode, headerGroups) => {
166
166
  const { fixedType } = props;
167
167
  const { headerRowClassName, headerRowStyle } = tableProps;
168
- const { isDragColMove } = tableReactData;
168
+ const { isColLoading, isDragColMove } = tableReactData;
169
169
  const columnOpts = computeColumnOpts.value;
170
170
  const columnDragOpts = computeColumnDragOpts.value;
171
171
  return headerGroups.map((cols, $rowIndex) => {
172
172
  const params = { $table: $xeTable, $rowIndex, fixed: fixedType, type: renderType };
173
- if (columnOpts.drag && columnDragOpts.animation) {
173
+ if (!isColLoading && columnOpts.drag && columnDragOpts.animation) {
174
174
  return h(TransitionGroup, {
175
175
  key: $rowIndex,
176
176
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
@@ -81,12 +81,18 @@ export default {
81
81
  type: Boolean,
82
82
  default: () => getConfig().table.highlightHoverRow
83
83
  },
84
- // (即将废弃)是否要高亮当前选中列
84
+ /**
85
+ * (即将废弃)是否要高亮当前选中列
86
+ * @deprecated
87
+ */
85
88
  highlightCurrentColumn: {
86
89
  type: Boolean,
87
90
  default: () => getConfig().table.highlightCurrentColumn
88
91
  },
89
- // (即将废弃)鼠标移到列是否要高亮显示
92
+ /**
93
+ * (即将废弃)鼠标移到列是否要高亮显示
94
+ * @deprecated
95
+ */
90
96
  highlightHoverColumn: {
91
97
  type: Boolean,
92
98
  default: () => getConfig().table.highlightHoverColumn
@@ -253,7 +253,8 @@ export default defineComponent({
253
253
  dragCol: null,
254
254
  dragTipText: '',
255
255
  isDragResize: false,
256
- isLoading: false
256
+ isRowLoading: false,
257
+ isColLoading: false
257
258
  });
258
259
  const internalData = {
259
260
  tZindex: 0,
@@ -2580,16 +2581,18 @@ export default defineComponent({
2580
2581
  scrollYStore.endIndex = 1;
2581
2582
  scrollXStore.startIndex = 0;
2582
2583
  scrollXStore.endIndex = 1;
2584
+ reactData.isRowLoading = true;
2583
2585
  reactData.scrollVMLoading = false;
2584
2586
  editStore.insertMaps = {};
2585
2587
  editStore.removeMaps = {};
2586
2588
  const sYLoad = updateScrollYStatus(fullData);
2589
+ reactData.isDragColMove = false;
2587
2590
  reactData.isDragRowMove = false;
2588
2591
  // 全量数据
2589
2592
  internalData.tableFullData = fullData;
2590
2593
  internalData.tableFullTreeData = treeData;
2591
2594
  // 缓存数据
2592
- tablePrivateMethods.cacheRowMap(true, isReset);
2595
+ $xeTable.cacheRowMap(true, isReset);
2593
2596
  // 原始数据
2594
2597
  internalData.tableSynchData = datas;
2595
2598
  if (isReset) {
@@ -2601,7 +2604,7 @@ export default defineComponent({
2601
2604
  }
2602
2605
  // 克隆原数据,用于显示编辑状态,与编辑值做对比
2603
2606
  if (keepSource) {
2604
- tablePrivateMethods.cacheSourceMap(fullData);
2607
+ $xeTable.cacheSourceMap(fullData);
2605
2608
  }
2606
2609
  if ($xeTable.clearCellAreas && props.mouseConfig) {
2607
2610
  $xeTable.clearCellAreas();
@@ -2659,6 +2662,7 @@ export default defineComponent({
2659
2662
  if (sYOpts.scrollToTopOnChange) {
2660
2663
  targetScrollTop = 0;
2661
2664
  }
2665
+ reactData.isRowLoading = false;
2662
2666
  calcCellHeight();
2663
2667
  // 是否变更虚拟滚动
2664
2668
  if (oldScrollYLoad === sYLoad) {
@@ -2893,11 +2897,10 @@ export default defineComponent({
2893
2897
  internalData.collectColumn = collectColumn;
2894
2898
  const tableFullColumn = getColumnList(collectColumn);
2895
2899
  internalData.tableFullColumn = tableFullColumn;
2896
- reactData.isLoading = true;
2900
+ reactData.isColLoading = true;
2897
2901
  reactData.isDragColMove = false;
2898
2902
  initColumnSort();
2899
2903
  return Promise.resolve(restoreCustomStorage()).then(() => {
2900
- reactData.isLoading = false;
2901
2904
  cacheColumnMap();
2902
2905
  parseColumns(true).then(() => {
2903
2906
  if (reactData.scrollXLoad) {
@@ -2922,6 +2925,7 @@ export default defineComponent({
2922
2925
  if ($xeTable.handleUpdateCustomColumn) {
2923
2926
  $xeTable.handleUpdateCustomColumn();
2924
2927
  }
2928
+ reactData.isColLoading = false;
2925
2929
  return $xeTable.recalculate();
2926
2930
  });
2927
2931
  });
@@ -7721,10 +7725,13 @@ export default defineComponent({
7721
7725
  */
7722
7726
  triggerSortEvent(evnt, column, order) {
7723
7727
  const sortOpts = computeSortOpts.value;
7728
+ const { multiple, allowClear } = sortOpts;
7724
7729
  const { field, sortable } = column;
7725
7730
  if (sortable) {
7726
7731
  if (!order || column.order === order) {
7727
- tableMethods.clearSort(sortOpts.multiple ? column : null);
7732
+ if (allowClear) {
7733
+ tableMethods.clearSort(multiple ? column : null);
7734
+ }
7728
7735
  }
7729
7736
  else {
7730
7737
  tableMethods.sort({ field, order });
@@ -9269,7 +9276,7 @@ export default defineComponent({
9269
9276
  const areaOpts = computeAreaOpts.value;
9270
9277
  const loadingOpts = computeLoadingOpts.value;
9271
9278
  const isMenu = computeIsMenu.value;
9272
- const currLoading = reactData.isLoading || loading;
9279
+ const currLoading = reactData.isColLoading || reactData.isRowLoading || loading;
9273
9280
  const resizableOpts = computeResizableOpts.value;
9274
9281
  const isArea = mouseConfig && mouseOpts.area;
9275
9282
  const columnDragOpts = computeColumnDragOpts.value;
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 = "4.10.6-beta.30";
3
+ export const version = "4.10.6-beta.32";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
@@ -113,6 +113,8 @@ VxeUI.setConfig({
113
113
  // orders: ['asc', 'desc', null],
114
114
  // sortMethod: null,
115
115
  showIcon: true,
116
+ allowClear: true,
117
+ allowBtn: true,
116
118
  iconLayout: 'vertical'
117
119
  },
118
120
  filterConfig: {
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${"4.10.6-beta.30"}`;
3
+ const version = `table v${"4.10.6-beta.32"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -3138,7 +3138,7 @@ function eqEmptyValue(cellValue) {
3138
3138
  ;// ./packages/ui/index.ts
3139
3139
 
3140
3140
 
3141
- const version = "4.10.6-beta.29";
3141
+ const version = "4.10.6-beta.32";
3142
3142
  core_.VxeUI.version = version;
3143
3143
  core_.VxeUI.tableVersion = version;
3144
3144
  core_.VxeUI.setConfig({
@@ -3251,6 +3251,8 @@ core_.VxeUI.setConfig({
3251
3251
  // orders: ['asc', 'desc', null],
3252
3252
  // sortMethod: null,
3253
3253
  showIcon: true,
3254
+ allowClear: true,
3255
+ allowBtn: true,
3254
3256
  iconLayout: 'vertical'
3255
3257
  },
3256
3258
  filterConfig: {
@@ -3581,7 +3583,7 @@ var esnext_iterator_some = __webpack_require__(7550);
3581
3583
  const {
3582
3584
  log: log_log
3583
3585
  } = core_.VxeUI;
3584
- const log_version = `table v${"4.10.6-beta.29"}`;
3586
+ const log_version = `table v${"4.10.6-beta.32"}`;
3585
3587
  const warnLog = log_log.create('warn', log_version);
3586
3588
  const errLog = log_log.create('error', log_version);
3587
3589
  ;// ./packages/table/src/columnInfo.ts
@@ -5686,6 +5688,7 @@ const Cell = {
5686
5688
  const sortOpts = computeSortOpts.value;
5687
5689
  const {
5688
5690
  showIcon,
5691
+ allowBtn,
5689
5692
  iconLayout,
5690
5693
  iconAsc,
5691
5694
  iconDesc,
@@ -5702,19 +5705,19 @@ const Cell = {
5702
5705
  'sort--active': order === 'asc'
5703
5706
  }],
5704
5707
  title: cell_getI18n('vxe.table.sortAsc'),
5705
- onClick(evnt) {
5708
+ onClick: allowBtn ? evnt => {
5706
5709
  evnt.stopPropagation();
5707
5710
  $table.triggerSortEvent(evnt, column, 'asc');
5708
- }
5711
+ } : undefined
5709
5712
  }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
5710
5713
  class: ['vxe-sort--desc-btn', iconDesc || cell_getIcon().TABLE_SORT_DESC, {
5711
5714
  'sort--active': order === 'desc'
5712
5715
  }],
5713
5716
  title: cell_getI18n('vxe.table.sortDesc'),
5714
- onClick(evnt) {
5717
+ onClick: allowBtn ? evnt => {
5715
5718
  evnt.stopPropagation();
5716
5719
  $table.triggerSortEvent(evnt, column, 'desc');
5717
- }
5720
+ } : undefined
5718
5721
  })])];
5719
5722
  }
5720
5723
  return [];
@@ -6619,6 +6622,7 @@ const renderType = 'body';
6619
6622
  const {
6620
6623
  hasFixedColumn,
6621
6624
  treeExpandedMaps,
6625
+ isColLoading,
6622
6626
  scrollXLoad,
6623
6627
  scrollYLoad,
6624
6628
  isAllOverflow,
@@ -6725,7 +6729,7 @@ const renderType = 'body';
6725
6729
  const tdVNs = tableColumn.map((column, $columnIndex) => {
6726
6730
  return renderTdColumn(seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
6727
6731
  });
6728
- rows.push(columnOpts.drag && columnDragOpts.animation ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.TransitionGroup, {
6732
+ rows.push(!isColLoading && columnOpts.drag && columnDragOpts.animation ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.TransitionGroup, {
6729
6733
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
6730
6734
  tag: 'tr',
6731
6735
  class: trClass,
@@ -6854,6 +6858,8 @@ const renderType = 'body';
6854
6858
  const {
6855
6859
  isGroup,
6856
6860
  tableData,
6861
+ isRowLoading,
6862
+ isColLoading,
6857
6863
  scrollXLoad,
6858
6864
  scrollYLoad,
6859
6865
  isAllOverflow,
@@ -6996,9 +7002,9 @@ const renderType = 'body';
6996
7002
  });
6997
7003
  })),
6998
7004
  /**
6999
- * 内容
7000
- */
7001
- rowOpts.drag && rowDragOpts.animation ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.TransitionGroup, {
7005
+ * 内容
7006
+ */
7007
+ !(isRowLoading || isColLoading) && rowOpts.drag && rowDragOpts.animation ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.TransitionGroup, {
7002
7008
  ref: refBodyTBody,
7003
7009
  name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`,
7004
7010
  tag: 'tbody'
@@ -7276,6 +7282,7 @@ const header_renderType = 'header';
7276
7282
  headerRowStyle
7277
7283
  } = tableProps;
7278
7284
  const {
7285
+ isColLoading,
7279
7286
  isDragColMove
7280
7287
  } = tableReactData;
7281
7288
  const columnOpts = computeColumnOpts.value;
@@ -7287,7 +7294,7 @@ const header_renderType = 'header';
7287
7294
  fixed: fixedType,
7288
7295
  type: header_renderType
7289
7296
  };
7290
- if (columnOpts.drag && columnDragOpts.animation) {
7297
+ if (!isColLoading && columnOpts.drag && columnDragOpts.animation) {
7291
7298
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.TransitionGroup, {
7292
7299
  key: $rowIndex,
7293
7300
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
@@ -7743,6 +7750,7 @@ function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
7743
7750
  footerRowStyle
7744
7751
  } = tableProps;
7745
7752
  const {
7753
+ isColLoading,
7746
7754
  isDragColMove
7747
7755
  } = tableReactData;
7748
7756
  const columnOpts = computeColumnOpts.value;
@@ -7757,7 +7765,7 @@ function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
7757
7765
  fixed: fixedType,
7758
7766
  type: footer_renderType
7759
7767
  };
7760
- if (columnOpts.drag && columnDragOpts.animation) {
7768
+ if (!isColLoading && columnOpts.drag && columnDragOpts.animation) {
7761
7769
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.TransitionGroup, {
7762
7770
  key: $rowIndex,
7763
7771
  name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
@@ -7996,12 +8004,18 @@ const {
7996
8004
  type: Boolean,
7997
8005
  default: () => props_getConfig().table.highlightHoverRow
7998
8006
  },
7999
- // (即将废弃)是否要高亮当前选中列
8007
+ /**
8008
+ * (即将废弃)是否要高亮当前选中列
8009
+ * @deprecated
8010
+ */
8000
8011
  highlightCurrentColumn: {
8001
8012
  type: Boolean,
8002
8013
  default: () => props_getConfig().table.highlightCurrentColumn
8003
8014
  },
8004
- // (即将废弃)鼠标移到列是否要高亮显示
8015
+ /**
8016
+ * (即将废弃)鼠标移到列是否要高亮显示
8017
+ * @deprecated
8018
+ */
8005
8019
  highlightHoverColumn: {
8006
8020
  type: Boolean,
8007
8021
  default: () => props_getConfig().table.highlightHoverColumn
@@ -10509,7 +10523,8 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
10509
10523
  dragCol: null,
10510
10524
  dragTipText: '',
10511
10525
  isDragResize: false,
10512
- isLoading: false
10526
+ isRowLoading: false,
10527
+ isColLoading: false
10513
10528
  });
10514
10529
  const internalData = {
10515
10530
  tZindex: 0,
@@ -13275,16 +13290,18 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13275
13290
  scrollYStore.endIndex = 1;
13276
13291
  scrollXStore.startIndex = 0;
13277
13292
  scrollXStore.endIndex = 1;
13293
+ reactData.isRowLoading = true;
13278
13294
  reactData.scrollVMLoading = false;
13279
13295
  editStore.insertMaps = {};
13280
13296
  editStore.removeMaps = {};
13281
13297
  const sYLoad = updateScrollYStatus(fullData);
13298
+ reactData.isDragColMove = false;
13282
13299
  reactData.isDragRowMove = false;
13283
13300
  // 全量数据
13284
13301
  internalData.tableFullData = fullData;
13285
13302
  internalData.tableFullTreeData = treeData;
13286
13303
  // 缓存数据
13287
- tablePrivateMethods.cacheRowMap(true, isReset);
13304
+ $xeTable.cacheRowMap(true, isReset);
13288
13305
  // 原始数据
13289
13306
  internalData.tableSynchData = datas;
13290
13307
  if (isReset) {
@@ -13296,7 +13313,7 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13296
13313
  }
13297
13314
  // 克隆原数据,用于显示编辑状态,与编辑值做对比
13298
13315
  if (keepSource) {
13299
- tablePrivateMethods.cacheSourceMap(fullData);
13316
+ $xeTable.cacheSourceMap(fullData);
13300
13317
  }
13301
13318
  if ($xeTable.clearCellAreas && props.mouseConfig) {
13302
13319
  $xeTable.clearCellAreas();
@@ -13352,6 +13369,7 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13352
13369
  if (sYOpts.scrollToTopOnChange) {
13353
13370
  targetScrollTop = 0;
13354
13371
  }
13372
+ reactData.isRowLoading = false;
13355
13373
  calcCellHeight();
13356
13374
  // 是否变更虚拟滚动
13357
13375
  if (oldScrollYLoad === sYLoad) {
@@ -13615,11 +13633,10 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13615
13633
  internalData.collectColumn = collectColumn;
13616
13634
  const tableFullColumn = getColumnList(collectColumn);
13617
13635
  internalData.tableFullColumn = tableFullColumn;
13618
- reactData.isLoading = true;
13636
+ reactData.isColLoading = true;
13619
13637
  reactData.isDragColMove = false;
13620
13638
  initColumnSort();
13621
13639
  return Promise.resolve(restoreCustomStorage()).then(() => {
13622
- reactData.isLoading = false;
13623
13640
  cacheColumnMap();
13624
13641
  parseColumns(true).then(() => {
13625
13642
  if (reactData.scrollXLoad) {
@@ -13644,6 +13661,7 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
13644
13661
  if ($xeTable.handleUpdateCustomColumn) {
13645
13662
  $xeTable.handleUpdateCustomColumn();
13646
13663
  }
13664
+ reactData.isColLoading = false;
13647
13665
  return $xeTable.recalculate();
13648
13666
  });
13649
13667
  });
@@ -19212,13 +19230,19 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
19212
19230
  */
19213
19231
  triggerSortEvent(evnt, column, order) {
19214
19232
  const sortOpts = computeSortOpts.value;
19233
+ const {
19234
+ multiple,
19235
+ allowClear
19236
+ } = sortOpts;
19215
19237
  const {
19216
19238
  field,
19217
19239
  sortable
19218
19240
  } = column;
19219
19241
  if (sortable) {
19220
19242
  if (!order || column.order === order) {
19221
- tableMethods.clearSort(sortOpts.multiple ? column : null);
19243
+ if (allowClear) {
19244
+ tableMethods.clearSort(multiple ? column : null);
19245
+ }
19222
19246
  } else {
19223
19247
  tableMethods.sort({
19224
19248
  field,
@@ -20955,7 +20979,7 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
20955
20979
  const areaOpts = computeAreaOpts.value;
20956
20980
  const loadingOpts = computeLoadingOpts.value;
20957
20981
  const isMenu = computeIsMenu.value;
20958
- const currLoading = reactData.isLoading || loading;
20982
+ const currLoading = reactData.isColLoading || reactData.isRowLoading || loading;
20959
20983
  const resizableOpts = computeResizableOpts.value;
20960
20984
  const isArea = mouseConfig && mouseOpts.area;
20961
20985
  const columnDragOpts = computeColumnDragOpts.value;