vxe-table 4.12.0 → 4.12.1

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 (34) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/edit/hook.js +19 -22
  3. package/es/table/module/validator/hook.js +2 -4
  4. package/es/table/src/body.js +7 -8
  5. package/es/table/src/table.js +66 -92
  6. package/es/ui/index.js +3 -3
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/index.umd.js +12257 -1056
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/style.css +1 -1
  11. package/lib/table/module/edit/hook.js +24 -33
  12. package/lib/table/module/edit/hook.min.js +1 -1
  13. package/lib/table/module/validator/hook.js +3 -8
  14. package/lib/table/module/validator/hook.min.js +1 -1
  15. package/lib/table/src/body.js +7 -8
  16. package/lib/table/src/body.min.js +1 -1
  17. package/lib/table/src/table.js +71 -108
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +3 -3
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +2 -2
  24. package/packages/table/module/edit/hook.ts +19 -22
  25. package/packages/table/module/validator/hook.ts +2 -4
  26. package/packages/table/src/body.ts +7 -8
  27. package/packages/table/src/table.ts +72 -100
  28. package/packages/ui/index.ts +2 -2
  29. /package/es/{iconfont.1742955995631.ttf → iconfont.1743045589885.ttf} +0 -0
  30. /package/es/{iconfont.1742955995631.woff → iconfont.1743045589885.woff} +0 -0
  31. /package/es/{iconfont.1742955995631.woff2 → iconfont.1743045589885.woff2} +0 -0
  32. /package/lib/{iconfont.1742955995631.ttf → iconfont.1743045589885.ttf} +0 -0
  33. /package/lib/{iconfont.1742955995631.woff → iconfont.1743045589885.woff} +0 -0
  34. /package/lib/{iconfont.1742955995631.woff2 → iconfont.1743045589885.woff2} +0 -0
@@ -183,9 +183,7 @@ export default defineComponent({
183
183
  focused: {
184
184
  row: null,
185
185
  column: null
186
- },
187
- insertMaps: {},
188
- removeMaps: {}
186
+ }
189
187
  },
190
188
  // 存放 tooltip 相关信息
191
189
  tooltipStore: {
@@ -248,6 +246,8 @@ export default defineComponent({
248
246
  treeExpandedFlag: 1,
249
247
  updateCheckboxFlag: 1,
250
248
  pendingRowFlag: 1,
249
+ insertRowFlag: 1,
250
+ removeRowFlag: 1,
251
251
 
252
252
  rowHeightStore: {
253
253
  default: 48,
@@ -354,7 +354,6 @@ export default defineComponent({
354
354
  fullDataRowIdData: {},
355
355
  fullColumnIdData: {},
356
356
  fullColumnFieldData: {},
357
- // prevDragRow: null,
358
357
 
359
358
  // 已展开的行集合
360
359
  rowExpandedMaps: {},
@@ -368,6 +367,10 @@ export default defineComponent({
368
367
  selectCheckboxMaps: {},
369
368
  // 已标记的对象集
370
369
  pendingRowMaps: {},
370
+ // 已新增的临时行
371
+ insertRowMaps: {},
372
+ // 已删除行
373
+ removeRowMaps: {},
371
374
 
372
375
  inited: false,
373
376
  tooltipTimeout: null,
@@ -439,7 +442,7 @@ export default defineComponent({
439
442
  })
440
443
 
441
444
  const computeValidOpts = computed(() => {
442
- return Object.assign({}, getConfig().table.validConfig, props.validConfig) as VxeTablePropTypes.ValidOpts
445
+ return Object.assign({}, getConfig().table.validConfig, props.validConfig)
443
446
  })
444
447
 
445
448
  /**
@@ -447,12 +450,12 @@ export default defineComponent({
447
450
  */
448
451
  const computeSXOpts = computed(() => {
449
452
  const virtualXOpts = computeVirtualXOpts.value
450
- return virtualXOpts as VxeTablePropTypes.SXOpts
453
+ return virtualXOpts
451
454
  })
452
455
 
453
456
  const computeScrollXThreshold = computed(() => {
454
- const sXOpts = computeSXOpts.value
455
- const { threshold } = sXOpts
457
+ const virtualXOpts = computeVirtualXOpts.value
458
+ const { threshold } = virtualXOpts
456
459
  if (threshold) {
457
460
  return XEUtils.toNumber(threshold)
458
461
  }
@@ -464,15 +467,15 @@ export default defineComponent({
464
467
  */
465
468
  const computeSYOpts = computed(() => {
466
469
  const virtualYOpts = computeVirtualYOpts.value
467
- return virtualYOpts as VxeTablePropTypes.SYOpts
470
+ return virtualYOpts
468
471
  })
469
472
 
470
473
  const computeVirtualXOpts = computed(() => {
471
- return Object.assign({}, getConfig().table.scrollX, getConfig().table.virtualXConfig, props.scrollX, props.virtualXConfig) as VxeTablePropTypes.VirtualXConfig
474
+ return Object.assign({}, getConfig().table.scrollX, getConfig().table.virtualXConfig, props.scrollX, props.virtualXConfig) as VxeTablePropTypes.VirtualXConfig & { gt: number }
472
475
  })
473
476
 
474
477
  const computeVirtualYOpts = computed(() => {
475
- return Object.assign({}, getConfig().table.scrollY, getConfig().table.virtualYConfig, props.scrollY, props.virtualYConfig) as VxeTablePropTypes.VirtualYConfig
478
+ return Object.assign({}, getConfig().table.scrollY, getConfig().table.virtualYConfig, props.scrollY, props.virtualYConfig) as VxeTablePropTypes.VirtualYConfig & { gt: number }
476
479
  })
477
480
 
478
481
  const computeScrollbarOpts = computed(() => {
@@ -490,8 +493,8 @@ export default defineComponent({
490
493
  })
491
494
 
492
495
  const computeScrollYThreshold = computed(() => {
493
- const sYOpts = computeSYOpts.value
494
- const { threshold } = sYOpts
496
+ const virtualYOpts = computeVirtualYOpts.value
497
+ const { threshold } = virtualYOpts
495
498
  if (threshold) {
496
499
  return XEUtils.toNumber(threshold)
497
500
  }
@@ -509,7 +512,7 @@ export default defineComponent({
509
512
  })
510
513
 
511
514
  const computeColumnOpts = computed(() => {
512
- return Object.assign({}, getConfig().table.columnConfig, props.columnConfig) as VxeTablePropTypes.ColumnOpts
515
+ return Object.assign({}, getConfig().table.columnConfig, props.columnConfig)
513
516
  })
514
517
 
515
518
  const computeCurrentColumnOpts = computed(() => {
@@ -1124,14 +1127,14 @@ export default defineComponent({
1124
1127
 
1125
1128
  const setMerges = (merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[], mList: VxeTableDefines.MergeItem[], rowList?: any[]) => {
1126
1129
  if (merges) {
1127
- const { treeConfig } = props
1130
+ // const { treeConfig } = props
1128
1131
  const { visibleColumn } = internalData
1129
1132
  if (!XEUtils.isArray(merges)) {
1130
1133
  merges = [merges]
1131
1134
  }
1132
- if (treeConfig && merges.length) {
1133
- errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
1134
- }
1135
+ // if (treeConfig && merges.length) {
1136
+ // errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
1137
+ // }
1135
1138
  merges.forEach((item) => {
1136
1139
  let { row, col, rowspan, colspan } = item
1137
1140
  if (rowList && XEUtils.isNumber(row)) {
@@ -1174,14 +1177,14 @@ export default defineComponent({
1174
1177
  const removeMerges = (merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[], mList: VxeTableDefines.MergeItem[], rowList?: any) => {
1175
1178
  const rest: VxeTableDefines.MergeItem[] = []
1176
1179
  if (merges) {
1177
- const { treeConfig } = props
1180
+ // const { treeConfig } = props
1178
1181
  const { visibleColumn } = internalData
1179
1182
  if (!XEUtils.isArray(merges)) {
1180
1183
  merges = [merges]
1181
1184
  }
1182
- if (treeConfig && merges.length) {
1183
- errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
1184
- }
1185
+ // if (treeConfig && merges.length) {
1186
+ // errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
1187
+ // }
1185
1188
  merges.forEach((item) => {
1186
1189
  let { row, col } = item
1187
1190
  if (rowList && XEUtils.isNumber(row)) {
@@ -1889,7 +1892,7 @@ export default defineComponent({
1889
1892
  }
1890
1893
 
1891
1894
  const updateStyle = () => {
1892
- const { border, showHeaderOverflow: allColumnHeaderOverflow, showFooterOverflow: allColumnFooterOverflow, mouseConfig, spanMethod, footerSpanMethod } = props
1895
+ const { showHeaderOverflow: allColumnHeaderOverflow, showFooterOverflow: allColumnFooterOverflow, mouseConfig, spanMethod, footerSpanMethod } = props
1893
1896
  const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn } = reactData
1894
1897
  const { visibleColumn, tableHeight, headerHeight, footerHeight, elemStore, customHeight, customMinHeight, customMaxHeight } = internalData
1895
1898
  const el = refElem.value
@@ -2050,33 +2053,6 @@ export default defineComponent({
2050
2053
  if (tableElem) {
2051
2054
  tableElem.style.width = tWidth ? `${tWidth}px` : ''
2052
2055
  }
2053
-
2054
- const listElem = getRefElem(elemStore[`${name}-${layout}-list`])
2055
- if (isGroup && listElem) {
2056
- XEUtils.arrayEach(listElem.querySelectorAll('.col--group'), (thElem: any) => {
2057
- const colNode = $xeTable.getColumnNode(thElem)
2058
- if (colNode) {
2059
- const column = colNode.item
2060
- const { showHeaderOverflow } = column
2061
- const cellOverflow = XEUtils.isBoolean(showHeaderOverflow) ? showHeaderOverflow : allColumnHeaderOverflow
2062
- const showEllipsis = cellOverflow === 'ellipsis'
2063
- const showTitle = cellOverflow === 'title'
2064
- const showTooltip = cellOverflow === true || cellOverflow === 'tooltip'
2065
- const hasEllipsis = showTitle || showTooltip || showEllipsis
2066
- let childWidth = 0
2067
- let countChild = 0
2068
- if (hasEllipsis) {
2069
- XEUtils.eachTree(column.children, (item) => {
2070
- if (!item.children || !column.children.length) {
2071
- countChild++
2072
- }
2073
- childWidth += item.renderWidth
2074
- }, { children: 'children' })
2075
- }
2076
- thElem.style.width = hasEllipsis ? `${childWidth - countChild - (border ? 2 : 0)}px` : ''
2077
- }
2078
- })
2079
- }
2080
2056
  } else if (layout === 'body') {
2081
2057
  if (currScrollElem) {
2082
2058
  currScrollElem.style.maxHeight = customMaxHeight ? `${bodyMaxHeight}px` : ''
@@ -2226,7 +2202,7 @@ export default defineComponent({
2226
2202
  (sortConfig.multiple ? defaultSort : defaultSort.slice(0, 1)).forEach((item: any, index: number) => {
2227
2203
  const { field, order } = item
2228
2204
  if (field && order) {
2229
- const column = tableMethods.getColumnByField(field)
2205
+ const column = $xeTable.getColumnByField(field)
2230
2206
  if (column && column.sortable) {
2231
2207
  column.order = order
2232
2208
  column.sortTime = Date.now() + index
@@ -2234,7 +2210,7 @@ export default defineComponent({
2234
2210
  }
2235
2211
  })
2236
2212
  if (!sortOpts.remote) {
2237
- tablePrivateMethods.handleTableData(true).then(updateStyle)
2213
+ $xeTable.handleTableData(true).then(updateStyle)
2238
2214
  }
2239
2215
  }
2240
2216
  }
@@ -2295,7 +2271,7 @@ export default defineComponent({
2295
2271
  const expandOpts = computeExpandOpts.value
2296
2272
  const { expandAll, expandRowKeys } = expandOpts
2297
2273
  if (expandAll) {
2298
- tableMethods.setAllRowExpand(true)
2274
+ $xeTable.setAllRowExpand(true)
2299
2275
  } else if (expandRowKeys) {
2300
2276
  const defExpandeds: any[] = []
2301
2277
  expandRowKeys.forEach((rowid: any) => {
@@ -2303,7 +2279,7 @@ export default defineComponent({
2303
2279
  defExpandeds.push(fullDataRowIdData[rowid].row)
2304
2280
  }
2305
2281
  })
2306
- tableMethods.setRowExpand(defExpandeds, true)
2282
+ $xeTable.setRowExpand(defExpandeds, true)
2307
2283
  }
2308
2284
  }
2309
2285
  }
@@ -2667,14 +2643,14 @@ export default defineComponent({
2667
2643
  const handleDefaultMergeCells = () => {
2668
2644
  const { mergeCells } = props
2669
2645
  if (mergeCells) {
2670
- tableMethods.setMergeCells(mergeCells)
2646
+ $xeTable.setMergeCells(mergeCells)
2671
2647
  }
2672
2648
  }
2673
2649
 
2674
2650
  const handleDefaultMergeFooterItems = () => {
2675
2651
  const { mergeFooterItems } = props
2676
2652
  if (mergeFooterItems) {
2677
- tableMethods.setMergeFooterItems(mergeFooterItems)
2653
+ $xeTable.setMergeFooterItems(mergeFooterItems)
2678
2654
  }
2679
2655
  }
2680
2656
 
@@ -2765,7 +2741,7 @@ export default defineComponent({
2765
2741
  */
2766
2742
  const loadTableData = (datas: any[], isReset: boolean) => {
2767
2743
  const { keepSource, treeConfig } = props
2768
- const { editStore, scrollYLoad: oldScrollYLoad } = reactData
2744
+ const { scrollYLoad: oldScrollYLoad } = reactData
2769
2745
  const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData
2770
2746
  const treeOpts = computeTreeOpts.value
2771
2747
  const { transform } = treeOpts
@@ -2815,8 +2791,8 @@ export default defineComponent({
2815
2791
  scrollXStore.endIndex = 1
2816
2792
  reactData.isRowLoading = true
2817
2793
  reactData.scrollVMLoading = false
2818
- editStore.insertMaps = {}
2819
- editStore.removeMaps = {}
2794
+ internalData.insertRowMaps = {}
2795
+ internalData.removeRowMaps = {}
2820
2796
  const sYLoad = updateScrollYStatus(fullData)
2821
2797
  reactData.isDragColMove = false
2822
2798
  reactData.isDragRowMove = false
@@ -2838,10 +2814,10 @@ export default defineComponent({
2838
2814
  $xeTable.clearCellAreas()
2839
2815
  $xeTable.clearCopyCellArea()
2840
2816
  }
2841
- tableMethods.clearMergeCells()
2842
- tableMethods.clearMergeFooterItems()
2843
- tablePrivateMethods.handleTableData(true)
2844
- tableMethods.updateFooter()
2817
+ $xeTable.clearMergeCells()
2818
+ $xeTable.clearMergeFooterItems()
2819
+ $xeTable.handleTableData(true)
2820
+ $xeTable.updateFooter()
2845
2821
  return nextTick().then(() => {
2846
2822
  updateHeight()
2847
2823
  updateStyle()
@@ -2875,20 +2851,20 @@ export default defineComponent({
2875
2851
  }
2876
2852
 
2877
2853
  handleReserveStatus()
2878
- tablePrivateMethods.checkSelectionStatus()
2854
+ $xeTable.checkSelectionStatus()
2879
2855
  return new Promise<void>(resolve => {
2880
2856
  nextTick()
2881
- .then(() => tableMethods.recalculate())
2857
+ .then(() => $xeTable.recalculate())
2882
2858
  .then(() => {
2883
2859
  let targetScrollLeft = lastScrollLeft
2884
2860
  let targetScrollTop = lastScrollTop
2885
- const sXOpts = computeSXOpts.value
2886
- const sYOpts = computeSYOpts.value
2861
+ const virtualXOpts = computeVirtualXOpts.value
2862
+ const virtualYOpts = computeVirtualYOpts.value
2887
2863
  // 是否在更新数据之后自动滚动重置滚动条
2888
- if (sXOpts.scrollToLeftOnChange) {
2864
+ if (virtualXOpts.scrollToLeftOnChange) {
2889
2865
  targetScrollLeft = 0
2890
2866
  }
2891
- if (sYOpts.scrollToTopOnChange) {
2867
+ if (virtualYOpts.scrollToTopOnChange) {
2892
2868
  targetScrollTop = 0
2893
2869
  }
2894
2870
  reactData.isRowLoading = false
@@ -2924,7 +2900,7 @@ export default defineComponent({
2924
2900
  handleDefaultTreeExpand()
2925
2901
  handleDefaultMergeCells()
2926
2902
  handleDefaultMergeFooterItems()
2927
- nextTick(() => setTimeout(() => tableMethods.recalculate()))
2903
+ nextTick(() => setTimeout(() => $xeTable.recalculate()))
2928
2904
  }
2929
2905
 
2930
2906
  /**
@@ -2996,7 +2972,7 @@ export default defineComponent({
2996
2972
  const centerList: VxeTableDefines.ColumnInfo[] = []
2997
2973
  const rightList: VxeTableDefines.ColumnInfo[] = []
2998
2974
  const { isGroup, columnStore } = reactData
2999
- const sXOpts = computeSXOpts.value
2975
+ const virtualXOpts = computeVirtualXOpts.value
3000
2976
  const { collectColumn, tableFullColumn, scrollXStore, fullColumnIdData } = internalData
3001
2977
  // 如果是分组表头,如果子列全部被隐藏,则根列也隐藏
3002
2978
  if (isGroup) {
@@ -3052,7 +3028,7 @@ export default defineComponent({
3052
3028
  }
3053
3029
  const visibleColumn = leftList.concat(centerList).concat(rightList)
3054
3030
  // 如果gt为0,则总是启用
3055
- const scrollXLoad = !!sXOpts.enabled && sXOpts.gt > -1 && (sXOpts.gt === 0 || sXOpts.gt < tableFullColumn.length)
3031
+ const scrollXLoad = !!virtualXOpts.enabled && virtualXOpts.gt > -1 && (virtualXOpts.gt === 0 || virtualXOpts.gt < tableFullColumn.length)
3056
3032
  reactData.hasFixedColumn = leftList.length > 0 || rightList.length > 0
3057
3033
  Object.assign(columnStore, { leftList, centerList, rightList })
3058
3034
  if (scrollXLoad) {
@@ -3168,12 +3144,12 @@ export default defineComponent({
3168
3144
 
3169
3145
  const updateScrollYStatus = (fullData?: any[]) => {
3170
3146
  const { treeConfig } = props
3171
- const sYOpts = computeSYOpts.value
3147
+ const virtualYOpts = computeVirtualYOpts.value
3172
3148
  const treeOpts = computeTreeOpts.value
3173
3149
  const { transform } = treeOpts
3174
3150
  const allList = fullData || internalData.tableFullData
3175
3151
  // 如果gt为0,则总是启用
3176
- const scrollYLoad = (transform || !treeConfig) && !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt < allList.length)
3152
+ const scrollYLoad = (transform || !treeConfig) && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length)
3177
3153
  reactData.scrollYLoad = scrollYLoad
3178
3154
  return scrollYLoad
3179
3155
  }
@@ -3888,9 +3864,7 @@ export default defineComponent({
3888
3864
  */
3889
3865
  revertData (rows: any, field) {
3890
3866
  const { keepSource, treeConfig } = props
3891
- const { editStore } = reactData
3892
- const { fullAllDataRowIdData, fullDataRowIdData, tableSourceData, sourceDataRowIdData, tableFullData, afterFullData } = internalData
3893
- const removeTempMaps = { ...editStore.removeMaps }
3867
+ const { fullAllDataRowIdData, fullDataRowIdData, tableSourceData, sourceDataRowIdData, tableFullData, afterFullData, removeRowMaps } = internalData
3894
3868
  const treeOpts = computeTreeOpts.value
3895
3869
  const { transform } = treeOpts
3896
3870
  const { handleGetRowId } = createHandleGetRowId($xeTable)
@@ -3924,7 +3898,9 @@ export default defineComponent({
3924
3898
  XEUtils.destructuring(row, XEUtils.clone(oRow, true))
3925
3899
  }
3926
3900
  if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
3927
- delete removeTempMaps[rowid]
3901
+ if (removeRowMaps[rowid]) {
3902
+ delete removeRowMaps[rowid]
3903
+ }
3928
3904
  tableFullData.unshift(row)
3929
3905
  afterFullData.unshift(row)
3930
3906
  reDelFlag = true
@@ -3936,7 +3912,7 @@ export default defineComponent({
3936
3912
  }
3937
3913
  if (rows) {
3938
3914
  if (reDelFlag) {
3939
- editStore.removeMaps = removeTempMaps
3915
+ reactData.removeRowFlag++
3940
3916
  $xeTable.updateFooter()
3941
3917
  $xeTable.cacheRowMap(false)
3942
3918
  $xeTable.handleTableData(treeConfig && transform)
@@ -4064,22 +4040,19 @@ export default defineComponent({
4064
4040
  * @param {Row} row 行对象
4065
4041
  */
4066
4042
  isInsertByRow (row) {
4067
- const { editStore } = reactData
4068
4043
  const rowid = getRowid($xeTable, row)
4069
- return !!editStore.insertMaps[rowid]
4044
+ return !!reactData.insertRowFlag && !!internalData.insertRowMaps[rowid]
4070
4045
  },
4071
4046
  isRemoveByRow (row) {
4072
- const { editStore } = reactData
4073
4047
  const rowid = getRowid($xeTable, row)
4074
- return !!editStore.removeMaps[rowid]
4048
+ return !!reactData.removeRowFlag && !!internalData.removeRowMaps[rowid]
4075
4049
  },
4076
4050
  /**
4077
4051
  * 删除所有新增的临时数据
4078
4052
  * @returns
4079
4053
  */
4080
4054
  removeInsertRow () {
4081
- const { editStore } = reactData
4082
- editStore.insertMaps = {}
4055
+ internalData.insertRowMaps = {}
4083
4056
  return $xeTable.remove($xeTable.getInsertRecords())
4084
4057
  },
4085
4058
  /**
@@ -4118,8 +4091,8 @@ export default defineComponent({
4118
4091
  * @param {Number} columnIndex 索引
4119
4092
  */
4120
4093
  getColumns (columnIndex?: number): any {
4121
- const columns = internalData.visibleColumn
4122
- return XEUtils.isUndefined(columnIndex) ? columns.slice(0) : columns[columnIndex]
4094
+ const { visibleColumn } = internalData
4095
+ return XEUtils.isUndefined(columnIndex) ? visibleColumn.slice(0) : visibleColumn[columnIndex]
4123
4096
  },
4124
4097
  /**
4125
4098
  * 根据列获取列的唯一主键
@@ -4133,7 +4106,7 @@ export default defineComponent({
4133
4106
  * @param {String} colid 列主键
4134
4107
  */
4135
4108
  getColumnById (colid) {
4136
- const fullColumnIdData = internalData.fullColumnIdData
4109
+ const { fullColumnIdData } = internalData
4137
4110
  return colid && fullColumnIdData[colid] ? fullColumnIdData[colid].column : null
4138
4111
  },
4139
4112
  /**
@@ -4145,7 +4118,7 @@ export default defineComponent({
4145
4118
  return field && fullColumnFieldData[field] ? fullColumnFieldData[field].column : null
4146
4119
  },
4147
4120
  getParentColumn (fieldOrColumn) {
4148
- const fullColumnIdData = internalData.fullColumnIdData
4121
+ const { fullColumnIdData } = internalData
4149
4122
  const column = handleFieldOrColumn($xeTable, fieldOrColumn)
4150
4123
  return column && column.parentId && fullColumnIdData[column.parentId] ? fullColumnIdData[column.parentId].column : null
4151
4124
  },
@@ -9013,8 +8986,8 @@ export default defineComponent({
9013
8986
  * 横向 X 可视渲染事件处理
9014
8987
  */
9015
8988
  triggerScrollXEvent () {
9016
- const sXOpts = computeSXOpts.value
9017
- if (sXOpts.immediate) {
8989
+ const virtualXOpts = computeVirtualXOpts.value
8990
+ if (virtualXOpts.immediate) {
9018
8991
  loadScrollXData()
9019
8992
  } else {
9020
8993
  lazyScrollXData()
@@ -9024,8 +8997,8 @@ export default defineComponent({
9024
8997
  * 纵向 Y 可视渲染事件处理
9025
8998
  */
9026
8999
  triggerScrollYEvent () {
9027
- const sYOpts = computeSYOpts.value
9028
- if (sYOpts.immediate) {
9000
+ const virtualYOpts = computeVirtualYOpts.value
9001
+ if (virtualYOpts.immediate) {
9029
9002
  loadScrollYData()
9030
9003
  } else {
9031
9004
  lazyScrollYData()
@@ -9218,10 +9191,9 @@ export default defineComponent({
9218
9191
  if (!bodyScrollElem) {
9219
9192
  return
9220
9193
  }
9221
-
9222
9194
  const wheelSpeed = getWheelSpeed(reactData.lastScrollTime)
9223
- const deltaTop = Math.ceil((shiftKey ? deltaX : deltaY) * wheelSpeed)
9224
- const deltaLeft = Math.ceil((shiftKey ? deltaY : deltaX) * wheelSpeed)
9195
+ const deltaTop = shiftKey ? 0 : Math.ceil(deltaY * wheelSpeed)
9196
+ const deltaLeft = shiftKey ? Math.ceil((shiftKey ? (deltaY || deltaX) : deltaX) * wheelSpeed) : 0
9225
9197
 
9226
9198
  const isTopWheel = deltaTop < 0
9227
9199
  const currScrollTop = bodyScrollElem.scrollTop
@@ -9242,6 +9214,7 @@ export default defineComponent({
9242
9214
  evnt.preventDefault()
9243
9215
  internalData.inWheelScroll = true
9244
9216
  wheelScrollLeftTo(scrollLeft, (offsetLeft: number) => {
9217
+ internalData.inWheelScroll = true
9245
9218
  const currLeftNum = offsetLeft
9246
9219
  setScrollLeft(xHandleEl, currLeftNum)
9247
9220
  setScrollLeft(bodyScrollElem, currLeftNum)
@@ -9258,9 +9231,10 @@ export default defineComponent({
9258
9231
  }
9259
9232
  if (isRollY) {
9260
9233
  evnt.preventDefault()
9234
+ internalData.inWheelScroll = true
9261
9235
  wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop: number) => {
9262
- const currTopNum = bodyScrollElem.scrollTop + offsetTop
9263
9236
  internalData.inWheelScroll = true
9237
+ const currTopNum = bodyScrollElem.scrollTop + offsetTop
9264
9238
  setScrollTop(yHandleEl, currTopNum)
9265
9239
  setScrollTop(bodyScrollElem, currTopNum)
9266
9240
  setScrollTop(leftScrollElem, currTopNum)
@@ -10441,7 +10415,6 @@ export default defineComponent({
10441
10415
  nextTick(() => {
10442
10416
  const { data, exportConfig, importConfig, treeConfig, showOverflow } = props
10443
10417
  const { scrollXStore, scrollYStore } = internalData
10444
- const sYOpts = computeSYOpts.value
10445
10418
  const editOpts = computeEditOpts.value
10446
10419
  const treeOpts = computeTreeOpts.value
10447
10420
  const radioOpts = computeRadioOpts.value
@@ -10571,8 +10544,7 @@ export default defineComponent({
10571
10544
  Object.assign(scrollYStore, {
10572
10545
  startIndex: 0,
10573
10546
  endIndex: 0,
10574
- visibleSize: 0,
10575
- adaptive: sYOpts.adaptive !== false
10547
+ visibleSize: 0
10576
10548
  })
10577
10549
  Object.assign(scrollXStore, {
10578
10550
  startIndex: 0,
@@ -200,13 +200,13 @@ VxeUI.setConfig({
200
200
  enabled: true,
201
201
  gt: 60,
202
202
  preSize: 1,
203
- oSize: 2
203
+ oSize: 0
204
204
  },
205
205
  virtualYConfig: {
206
206
  enabled: true,
207
207
  gt: 100,
208
208
  preSize: 1,
209
- oSize: 2
209
+ oSize: 0
210
210
  },
211
211
  scrollbarConfig: {
212
212
  // width: 0,