vxe-table 3.12.14 → 3.12.16

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/module/edit/mixin.js +250 -168
  3. package/es/table/module/export/mixin.js +3 -2
  4. package/es/table/module/validator/mixin.js +6 -1
  5. package/es/table/src/body.js +1 -0
  6. package/es/table/src/methods.js +166 -100
  7. package/es/table/src/table.js +0 -1
  8. package/es/ui/index.js +1 -1
  9. package/es/ui/src/log.js +1 -1
  10. package/lib/index.umd.js +540 -375
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/edit/mixin.js +305 -225
  14. package/lib/table/module/edit/mixin.min.js +1 -1
  15. package/lib/table/module/export/mixin.js +3 -2
  16. package/lib/table/module/export/mixin.min.js +1 -1
  17. package/lib/table/module/validator/mixin.js +8 -0
  18. package/lib/table/module/validator/mixin.min.js +1 -1
  19. package/lib/table/src/body.js +1 -0
  20. package/lib/table/src/body.min.js +1 -1
  21. package/lib/table/src/methods.js +219 -143
  22. package/lib/table/src/methods.min.js +1 -1
  23. package/lib/table/src/table.js +0 -1
  24. package/lib/table/src/table.min.js +1 -1
  25. package/lib/ui/index.js +1 -1
  26. package/lib/ui/index.min.js +1 -1
  27. package/lib/ui/src/log.js +1 -1
  28. package/lib/ui/src/log.min.js +1 -1
  29. package/package.json +1 -1
  30. package/packages/table/module/edit/mixin.ts +273 -168
  31. package/packages/table/module/export/mixin.ts +3 -2
  32. package/packages/table/module/validator/mixin.ts +6 -1
  33. package/packages/table/src/body.ts +1 -0
  34. package/packages/table/src/methods.ts +172 -96
  35. package/packages/table/src/table.ts +0 -1
  36. /package/es/{iconfont.1739181382716.ttf → iconfont.1739333092714.ttf} +0 -0
  37. /package/es/{iconfont.1739181382716.woff → iconfont.1739333092714.woff} +0 -0
  38. /package/es/{iconfont.1739181382716.woff2 → iconfont.1739333092714.woff2} +0 -0
  39. /package/lib/{iconfont.1739181382716.ttf → iconfont.1739333092714.ttf} +0 -0
  40. /package/lib/{iconfont.1739181382716.woff → iconfont.1739333092714.woff} +0 -0
  41. /package/lib/{iconfont.1739181382716.woff2 → iconfont.1739333092714.woff2} +0 -0
@@ -1120,14 +1120,14 @@ const calcCellHeight = ($xeTable: VxeTableConstructor) => {
1120
1120
  }
1121
1121
  }
1122
1122
 
1123
- function getOrderField (_vm: any, column: any) {
1123
+ function getOrderField ($xeTable: VxeTableConstructor, column: VxeTableDefines.ColumnInfo) {
1124
1124
  const { sortBy, sortType } = column
1125
1125
  return (row: any) => {
1126
1126
  let cellValue
1127
1127
  if (sortBy) {
1128
1128
  cellValue = XEUtils.isFunction(sortBy) ? sortBy({ row, column }) : XEUtils.get(row, sortBy)
1129
1129
  } else {
1130
- cellValue = _vm.getCellLabel(row, column)
1130
+ cellValue = $xeTable.getCellLabel(row, column)
1131
1131
  }
1132
1132
  if (!sortType || sortType === 'auto') {
1133
1133
  return isNaN(cellValue) ? cellValue : XEUtils.toNumber(cellValue)
@@ -2968,74 +2968,148 @@ const Methods = {
2968
2968
  * 如果存在筛选条件,继续处理
2969
2969
  */
2970
2970
  updateAfterFullData () {
2971
- const $xeTable = this
2971
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
2972
+ const props = $xeTable
2973
+ const internalData = $xeTable as unknown as TableInternalData
2972
2974
 
2973
- const { tableFullColumn, tableFullData, filterOpts, sortOpts, treeConfig, treeOpts, tableFullTreeData } = this
2975
+ const { treeConfig } = props
2976
+ const { tableFullColumn, tableFullData, tableFullTreeData } = internalData
2977
+ const filterOpts = $xeTable.computeFilterOpts
2978
+ const sortOpts = $xeTable.computeSortOpts
2979
+ const treeOpts = $xeTable.computeTreeOpts
2980
+ const childrenField = treeOpts.children || treeOpts.childrenField
2981
+ const { transform, rowField, parentField, mapChildrenField } = treeOpts
2974
2982
  const { remote: allRemoteFilter, filterMethod: allFilterMethod } = filterOpts
2975
2983
  const { remote: allRemoteSort, sortMethod: allSortMethod, multiple: sortMultiple, chronological } = sortOpts
2976
- const { transform } = treeOpts
2977
- const childrenField = treeOpts.children || treeOpts.childrenField
2978
2984
  let tableData: any[] = []
2979
2985
  let tableTree: any[] = []
2980
- const filterColumns: any[] = []
2981
- let orderColumns: any[] = []
2982
- tableFullColumn.forEach((column: any) => {
2983
- const { field, sortable, order, filters } = column
2984
- if (!allRemoteFilter && filters && filters.length) {
2985
- const valueList: any[] = []
2986
- const itemList: any[] = []
2987
- filters.forEach((item: any) => {
2988
- if (item.checked) {
2989
- itemList.push(item)
2990
- valueList.push(item.value)
2986
+
2987
+ // 处理数据
2988
+ if (!allRemoteFilter || !allRemoteSort) {
2989
+ const filterColumns: {
2990
+ column: VxeTableDefines.ColumnInfo
2991
+ valueList: any[]
2992
+ itemList: VxeTableDefines.FilterOption[]
2993
+ }[] = []
2994
+ let orderColumns: VxeTableDefines.SortCheckedParams[] = []
2995
+ tableFullColumn.forEach((column) => {
2996
+ const { field, sortable, order, filters } = column
2997
+ if (!allRemoteFilter && filters && filters.length) {
2998
+ const valueList: any[] = []
2999
+ const itemList: VxeTableDefines.FilterOption[] = []
3000
+ filters.forEach((item) => {
3001
+ if (item.checked) {
3002
+ itemList.push(item as VxeTableDefines.FilterOption)
3003
+ valueList.push(item.value)
3004
+ }
3005
+ })
3006
+ if (itemList.length) {
3007
+ filterColumns.push({ column, valueList, itemList })
2991
3008
  }
2992
- })
2993
- if (itemList.length) {
2994
- filterColumns.push({ column, valueList, itemList })
2995
3009
  }
3010
+ if (!allRemoteSort && sortable && order) {
3011
+ orderColumns.push({ column, field, property: field, order: order, sortTime: column.sortTime })
3012
+ }
3013
+ })
3014
+ if (sortMultiple && chronological && orderColumns.length > 1) {
3015
+ orderColumns = XEUtils.orderBy(orderColumns, 'sortTime')
2996
3016
  }
2997
- if (!allRemoteSort && sortable && order) {
2998
- orderColumns.push({ column, field, property: field, order, sortTime: column.sortTime })
2999
- }
3000
- })
3001
- if (sortMultiple && chronological && orderColumns.length > 1) {
3002
- orderColumns = XEUtils.orderBy(orderColumns, 'sortTime')
3003
- }
3004
- if (filterColumns.length) {
3005
- const handleFilter = (row: any) => {
3006
- return filterColumns.every(({ column, valueList, itemList }) => {
3007
- if (valueList.length && !allRemoteFilter) {
3008
- const { filterMethod, filterRender, field } = column
3017
+
3018
+ // 处理筛选
3019
+ // 支持单列、多列、组合筛选
3020
+ if (!allRemoteFilter && filterColumns.length) {
3021
+ const handleFilter = (row: any) => {
3022
+ return filterColumns.every(({ column, valueList, itemList }) => {
3023
+ const { filterMethod, filterRender } = column
3009
3024
  const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
3010
3025
  const compFilterMethod = compConf ? (compConf.tableFilterMethod || compConf.filterMethod) : null
3011
3026
  const tdFilterMethod = compConf ? (compConf.tableFilterDefaultMethod || compConf.defaultTableFilterMethod || compConf.defaultFilterMethod) : null
3012
3027
  const cellValue = getCellValue(row, column)
3013
3028
  if (filterMethod) {
3014
- return itemList.some((item: any) => filterMethod({ value: item.value, option: item, cellValue, row, column, $table: this }))
3029
+ return itemList.some((item) => filterMethod({ value: item.value, option: item, cellValue, row, column, $table: $xeTable }))
3015
3030
  } else if (compFilterMethod) {
3016
- return itemList.some((item: any) => compFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: this }))
3031
+ return itemList.some((item) => compFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: $xeTable }))
3017
3032
  } else if (allFilterMethod) {
3018
3033
  return allFilterMethod({ options: itemList, values: valueList, cellValue, row, column })
3019
3034
  } else if (tdFilterMethod) {
3020
- return itemList.some((item: any) => tdFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: this }))
3035
+ return itemList.some((item) => tdFilterMethod({ value: item.value, option: item, cellValue, row, column, $table: $xeTable }))
3021
3036
  }
3022
- return valueList.indexOf(XEUtils.get(row, field)) > -1
3023
- }
3024
- return true
3025
- })
3026
- }
3027
- if (treeConfig && transform) {
3028
- // 筛选虚拟树
3029
- tableTree = XEUtils.searchTree(tableFullTreeData, handleFilter, {
3030
- original: true,
3031
- isEvery: true,
3032
- children: treeOpts.mapChildrenField,
3033
- mapChildren: childrenField
3034
- })
3035
- tableData = tableTree
3037
+ return valueList.indexOf(XEUtils.get(row, column.field)) > -1
3038
+ })
3039
+ }
3040
+ if (treeConfig && transform) {
3041
+ // 筛选虚拟树
3042
+ tableTree = XEUtils.searchTree(tableFullTreeData, handleFilter, {
3043
+ original: true,
3044
+ isEvery: true,
3045
+ children: mapChildrenField,
3046
+ mapChildren: childrenField
3047
+ })
3048
+ tableData = tableTree
3049
+ } else {
3050
+ tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter)
3051
+ tableTree = tableData
3052
+ }
3036
3053
  } else {
3037
- tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter)
3038
- tableTree = tableData
3054
+ if (treeConfig && transform) {
3055
+ // 还原虚拟树
3056
+ tableTree = XEUtils.searchTree(tableFullTreeData, () => true, {
3057
+ original: true,
3058
+ isEvery: true,
3059
+ children: mapChildrenField,
3060
+ mapChildren: childrenField
3061
+ })
3062
+ tableData = tableTree
3063
+ } else {
3064
+ tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0)
3065
+ tableTree = tableData
3066
+ }
3067
+ }
3068
+
3069
+ // 处理排序(不能用于树形结构)
3070
+ // 支持单列、多列、组合排序
3071
+ if (!allRemoteSort && orderColumns.length) {
3072
+ if (treeConfig && transform) {
3073
+ // 虚拟树和列表一样,只能排序根级节点
3074
+ if (allSortMethod) {
3075
+ const sortRests = allSortMethod({ data: tableTree, sortList: orderColumns, $table: $xeTable })
3076
+ tableTree = XEUtils.isArray(sortRests) ? sortRests : tableTree
3077
+ } else {
3078
+ const treeList = XEUtils.toTreeArray(tableTree, {
3079
+ children: mapChildrenField
3080
+ })
3081
+ tableTree = XEUtils.toArrayTree(
3082
+ XEUtils.orderBy(treeList, orderColumns.map(({ column, order }) => [getOrderField($xeTable, column), order])),
3083
+ {
3084
+ key: rowField,
3085
+ parentKey: parentField,
3086
+ children: childrenField,
3087
+ mapChildren: mapChildrenField
3088
+ }
3089
+ )
3090
+ }
3091
+ tableData = tableTree
3092
+ } else {
3093
+ if (allSortMethod) {
3094
+ const sortRests = allSortMethod({ data: tableData, sortList: orderColumns, $table: $xeTable })
3095
+ tableData = XEUtils.isArray(sortRests) ? sortRests : tableData
3096
+ } else {
3097
+ // 兼容 v4
3098
+ if (sortMultiple) {
3099
+ tableData = XEUtils.orderBy(tableData, orderColumns.map(({ column, order }) => [getOrderField(this, column), order]))
3100
+ } else {
3101
+ const firstOrderColumn = orderColumns[0]
3102
+ let sortByConfs
3103
+ // 已废弃,兼容 v2,在 v4 中废弃, sortBy 不能为数组
3104
+ if (XEUtils.isArray((firstOrderColumn as any).sortBy)) {
3105
+ sortByConfs = (firstOrderColumn as any).sortBy.map((item: any) => [item, firstOrderColumn.order])
3106
+ }
3107
+ tableData = XEUtils.orderBy(tableData, sortByConfs || [firstOrderColumn].map(({ column, order }) => [getOrderField(this, column), order]))
3108
+ }
3109
+ tableData = XEUtils.orderBy(tableData, orderColumns.map(({ column, order }) => [getOrderField($xeTable, column), order]))
3110
+ }
3111
+ tableTree = tableData
3112
+ }
3039
3113
  }
3040
3114
  } else {
3041
3115
  if (treeConfig && transform) {
@@ -3052,39 +3126,8 @@ const Methods = {
3052
3126
  tableTree = tableData
3053
3127
  }
3054
3128
  }
3055
- const firstOrderColumn = orderColumns[0]
3056
- if (!allRemoteSort && firstOrderColumn) {
3057
- if (treeConfig && transform) {
3058
- // 虚拟树和列表一样,只能排序根级节点
3059
- if (allSortMethod) {
3060
- const sortRests = allSortMethod({ data: tableTree, sortList: orderColumns, $table: this })
3061
- tableTree = XEUtils.isArray(sortRests) ? sortRests : tableTree
3062
- } else {
3063
- tableTree = XEUtils.orderBy(tableTree, orderColumns.map(({ column, order }) => [getOrderField(this, column), order]))
3064
- }
3065
- tableData = tableTree
3066
- } else {
3067
- if (allSortMethod) {
3068
- const sortRests = allSortMethod({ data: tableData, column: firstOrderColumn.column, property: firstOrderColumn.field, field: firstOrderColumn.field, order: firstOrderColumn.order, sortList: orderColumns, $table: this })
3069
- tableData = XEUtils.isArray(sortRests) ? sortRests : tableData
3070
- } else {
3071
- // 兼容 v4
3072
- if (sortMultiple) {
3073
- tableData = XEUtils.orderBy(tableData, orderColumns.map(({ column, order }) => [getOrderField(this, column), order]))
3074
- } else {
3075
- // 兼容 v2,在 v4 中废弃, sortBy 不能为数组
3076
- let sortByConfs
3077
- if (XEUtils.isArray(firstOrderColumn.sortBy)) {
3078
- sortByConfs = firstOrderColumn.sortBy.map((item: any) => [item, firstOrderColumn.order])
3079
- }
3080
- tableData = XEUtils.orderBy(tableData, sortByConfs || [firstOrderColumn].map(({ column, order }) => [getOrderField(this, column), order]))
3081
- }
3082
- }
3083
- tableTree = tableData
3084
- }
3085
- }
3086
- this.afterFullData = tableData
3087
- this.afterTreeFullData = tableTree
3129
+ internalData.afterFullData = tableData
3130
+ internalData.afterTreeFullData = tableTree
3088
3131
  updateAfterDataIndex($xeTable)
3089
3132
  },
3090
3133
  /**
@@ -6924,6 +6967,19 @@ const Methods = {
6924
6967
  reactData.pendingRowMaps = pendingMaps
6925
6968
  return $xeTable.$nextTick()
6926
6969
  },
6970
+ hasPendingByRow (row: any) {
6971
+ const $xeTable = this
6972
+
6973
+ return $xeTable.isPendingByRow(row)
6974
+ },
6975
+ isPendingByRow (row: any) {
6976
+ const $xeTable = this
6977
+ const reactData = $xeTable
6978
+
6979
+ const { pendingRowMaps } = reactData
6980
+ const rowid = getRowid($xeTable, row)
6981
+ return !!pendingRowMaps[rowid]
6982
+ },
6927
6983
  getPendingRecords () {
6928
6984
  const $xeTable = this
6929
6985
  const reactData = $xeTable
@@ -6939,11 +6995,6 @@ const Methods = {
6939
6995
  })
6940
6996
  return insertRecords
6941
6997
  },
6942
- hasPendingByRow (row: any) {
6943
- const { pendingRowMaps } = this
6944
- const rowid = getRowid(this, row)
6945
- return !!pendingRowMaps[rowid]
6946
- },
6947
6998
  clearPendingRow () {
6948
6999
  this.pendingRowMaps = {}
6949
7000
  return this.$nextTick()
@@ -7911,8 +7962,10 @@ const Methods = {
7911
7962
  },
7912
7963
  triggerBodyScrollEvent (evnt: Event, fixedType: '' | 'left' | 'right') {
7913
7964
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
7965
+ const reactData = $xeTable as unknown as TableReactData
7914
7966
  const internalData = $xeTable as unknown as TableInternalData
7915
7967
 
7968
+ const { scrollYLoad, scrollXLoad } = reactData
7916
7969
  const { elemStore, intoRunScroll, lastScrollTop, lastScrollLeft, inWheelScroll, inVirtualScroll, inHeaderScroll, inBodyScroll, scrollRenderType, inFooterScroll } = internalData
7917
7970
  const xHandleEl = $xeTable.$refs.refScrollXHandleElem as HTMLDivElement
7918
7971
  const yHandleEl = $xeTable.$refs.refScrollYHandleElem as HTMLDivElement
@@ -7967,13 +8020,17 @@ const Methods = {
7967
8020
  setScrollTop(rightScrollElem, scrollTop)
7968
8021
  }
7969
8022
  setScrollTop(yHandleEl, scrollTop)
7970
- $xeTable.triggerScrollYEvent(evnt)
8023
+ if (scrollYLoad) {
8024
+ $xeTable.triggerScrollYEvent(evnt)
8025
+ }
7971
8026
  }
7972
8027
  if (isRollX) {
7973
8028
  setScrollLeft(xHandleEl, scrollLeft)
7974
8029
  setScrollLeft(headerScrollElem, scrollLeft)
7975
8030
  setScrollLeft(footerScrollElem, scrollLeft)
7976
- $xeTable.triggerScrollXEvent(evnt)
8031
+ if (scrollXLoad) {
8032
+ $xeTable.triggerScrollXEvent(evnt)
8033
+ }
7977
8034
  }
7978
8035
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
7979
8036
  type: 'body',
@@ -7982,8 +8039,10 @@ const Methods = {
7982
8039
  },
7983
8040
  triggerHeaderScrollEvent (evnt: Event, fixedType: '' | 'left' | 'right') {
7984
8041
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8042
+ const reactData = $xeTable as unknown as TableReactData
7985
8043
  const internalData = $xeTable as unknown as TableInternalData
7986
8044
 
8045
+ const { scrollXLoad } = reactData
7987
8046
  const { elemStore, intoRunScroll, inWheelScroll, inVirtualScroll, inBodyScroll, inFooterScroll } = internalData
7988
8047
  const xHandleEl = $xeTable.$refs.refScrollXHandleElem as HTMLDivElement
7989
8048
  const yHandleEl = $xeTable.$refs.refScrollYHandleElem as HTMLDivElement
@@ -8013,7 +8072,9 @@ const Methods = {
8013
8072
  setScrollLeft(xHandleEl, scrollLeft)
8014
8073
  setScrollLeft(footerScrollElem, scrollLeft)
8015
8074
  setScrollLeft(bodyScrollElem, scrollLeft)
8016
- $xeTable.triggerScrollXEvent(evnt)
8075
+ if (scrollXLoad) {
8076
+ $xeTable.triggerScrollXEvent(evnt)
8077
+ }
8017
8078
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
8018
8079
  type: 'header',
8019
8080
  fixed: fixedType
@@ -8021,8 +8082,10 @@ const Methods = {
8021
8082
  },
8022
8083
  triggerFooterScrollEvent (evnt: Event, fixedType: '' | 'left' | 'right') {
8023
8084
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8085
+ const reactData = $xeTable as unknown as TableReactData
8024
8086
  const internalData = $xeTable as unknown as TableInternalData
8025
8087
 
8088
+ const { scrollXLoad } = reactData
8026
8089
  const { elemStore, intoRunScroll, inWheelScroll, inVirtualScroll, inHeaderScroll, inBodyScroll } = internalData
8027
8090
  const xHandleEl = $xeTable.$refs.refScrollXHandleElem as HTMLDivElement
8028
8091
  const yHandleEl = $xeTable.$refs.refScrollYHandleElem as HTMLDivElement
@@ -8052,7 +8115,9 @@ const Methods = {
8052
8115
  setScrollLeft(xHandleEl, scrollLeft)
8053
8116
  setScrollLeft(headerScrollElem, scrollLeft)
8054
8117
  setScrollLeft(bodyScrollElem, scrollLeft)
8055
- $xeTable.triggerScrollXEvent(evnt)
8118
+ if (scrollXLoad) {
8119
+ $xeTable.triggerScrollXEvent(evnt)
8120
+ }
8056
8121
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
8057
8122
  type: 'footer',
8058
8123
  fixed: fixedType
@@ -8069,6 +8134,7 @@ const Methods = {
8069
8134
  return
8070
8135
  }
8071
8136
  const { highlightHoverRow } = tableProps
8137
+ const { scrollYLoad } = reactData
8072
8138
  const { elemStore, lastScrollTop, lastScrollLeft } = internalData
8073
8139
  const rowOpts = $xeTable.computeRowOpts
8074
8140
  const xHandleEl = $xeTable.$refs.refScrollXHandleElem as HTMLDivElement
@@ -8117,7 +8183,9 @@ const Methods = {
8117
8183
  setScrollTop(bodyScrollElem, currTopNum)
8118
8184
  setScrollTop(leftScrollElem, currTopNum)
8119
8185
  setScrollTop(rightScrollElem, currTopNum)
8120
- $xeTable.triggerScrollYEvent(evnt)
8186
+ if (scrollYLoad) {
8187
+ $xeTable.triggerScrollYEvent(evnt)
8188
+ }
8121
8189
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, scrollLeft, {
8122
8190
  type: 'table',
8123
8191
  fixed: ''
@@ -8139,8 +8207,10 @@ const Methods = {
8139
8207
  },
8140
8208
  triggerVirtualScrollXEvent (evnt: Event) {
8141
8209
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8210
+ const reactData = $xeTable as unknown as TableReactData
8142
8211
  const internalData = $xeTable as unknown as TableInternalData
8143
8212
 
8213
+ const { scrollXLoad } = reactData
8144
8214
  const { elemStore, inWheelScroll, lastScrollTop, inHeaderScroll, inBodyScroll, inFooterScroll } = internalData
8145
8215
  if (inHeaderScroll || inBodyScroll || inFooterScroll) {
8146
8216
  return
@@ -8166,7 +8236,9 @@ const Methods = {
8166
8236
  setScrollLeft(bodyScrollElem, scrollLeft)
8167
8237
  setScrollLeft(headerScrollElem, scrollLeft)
8168
8238
  setScrollLeft(footerScrollElem, scrollLeft)
8169
- $xeTable.triggerScrollXEvent(evnt)
8239
+ if (scrollXLoad) {
8240
+ $xeTable.triggerScrollXEvent(evnt)
8241
+ }
8170
8242
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
8171
8243
  type: 'table',
8172
8244
  fixed: ''
@@ -8174,8 +8246,10 @@ const Methods = {
8174
8246
  },
8175
8247
  triggerVirtualScrollYEvent (evnt: Event) {
8176
8248
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8249
+ const reactData = $xeTable as unknown as TableReactData
8177
8250
  const internalData = $xeTable as unknown as TableInternalData
8178
8251
 
8252
+ const { scrollYLoad } = reactData
8179
8253
  const { elemStore, inWheelScroll, lastScrollLeft, inHeaderScroll, inBodyScroll, inFooterScroll } = internalData
8180
8254
  if (inHeaderScroll || inBodyScroll || inFooterScroll) {
8181
8255
  return
@@ -8201,7 +8275,9 @@ const Methods = {
8201
8275
  setScrollTop(bodyScrollElem, scrollTop)
8202
8276
  setScrollTop(leftScrollElem, scrollTop)
8203
8277
  setScrollTop(rightScrollElem, scrollTop)
8204
- $xeTable.triggerScrollYEvent(evnt)
8278
+ if (scrollYLoad) {
8279
+ $xeTable.triggerScrollYEvent(evnt)
8280
+ }
8205
8281
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
8206
8282
  type: 'table',
8207
8283
  fixed: ''
@@ -516,7 +516,6 @@ export default {
516
516
  column: null
517
517
  },
518
518
  insertMaps: {},
519
- removeList: [],
520
519
  removeMaps: {}
521
520
  },
522
521
  // 存放 tooltip 相关信息