vxe-table 3.19.39 → 3.20.0-beta.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 (109) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.esm.js +2 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/custom/mixin.js +6 -4
  7. package/es/table/module/custom/panel.js +806 -799
  8. package/es/table/module/edit/mixin.js +43 -31
  9. package/es/table/module/export/export-panel.js +511 -458
  10. package/es/table/module/export/import-panel.js +224 -192
  11. package/es/table/module/keyboard/mixin.js +2 -2
  12. package/es/table/module/menu/panel.js +165 -161
  13. package/es/table/module/validator/mixin.js +255 -236
  14. package/es/table/src/body.js +2 -1
  15. package/es/table/src/cell.js +2 -2
  16. package/es/table/src/methods.js +33 -43
  17. package/es/table/src/table.js +13 -249
  18. package/es/table/src/util.js +242 -0
  19. package/es/table/style.css +23 -50
  20. package/es/table/style.min.css +1 -1
  21. package/es/ui/index.js +2 -2
  22. package/es/ui/src/dom.js +22 -0
  23. package/es/ui/src/log.js +1 -1
  24. package/es/vxe-table/style.css +23 -50
  25. package/es/vxe-table/style.min.css +1 -1
  26. package/lib/index.common.js +2 -1
  27. package/lib/index.css +1 -1
  28. package/lib/index.min.css +1 -1
  29. package/lib/index.umd.js +3640 -4790
  30. package/lib/index.umd.min.js +1 -1
  31. package/lib/style.css +1 -1
  32. package/lib/style.min.css +1 -1
  33. package/lib/table/module/custom/mixin.js +6 -4
  34. package/lib/table/module/custom/mixin.min.js +1 -1
  35. package/lib/table/module/custom/panel.js +693 -685
  36. package/lib/table/module/custom/panel.min.js +1 -1
  37. package/lib/table/module/edit/mixin.js +47 -31
  38. package/lib/table/module/edit/mixin.min.js +1 -1
  39. package/lib/table/module/export/export-panel.js +450 -384
  40. package/lib/table/module/export/export-panel.min.js +1 -1
  41. package/lib/table/module/export/import-panel.js +200 -159
  42. package/lib/table/module/export/import-panel.min.js +1 -1
  43. package/lib/table/module/keyboard/mixin.js +2 -2
  44. package/lib/table/module/keyboard/mixin.min.js +1 -1
  45. package/lib/table/module/menu/panel.js +119 -114
  46. package/lib/table/module/menu/panel.min.js +1 -1
  47. package/lib/table/module/validator/mixin.js +271 -259
  48. package/lib/table/module/validator/mixin.min.js +1 -1
  49. package/lib/table/src/body.js +2 -1
  50. package/lib/table/src/body.min.js +1 -1
  51. package/lib/table/src/cell.js +2 -2
  52. package/lib/table/src/cell.min.js +1 -1
  53. package/lib/table/src/methods.js +33 -45
  54. package/lib/table/src/methods.min.js +1 -1
  55. package/lib/table/src/table.js +12 -248
  56. package/lib/table/src/table.min.js +1 -1
  57. package/lib/table/src/util.js +243 -0
  58. package/lib/table/src/util.min.js +1 -1
  59. package/lib/table/style/style.css +23 -50
  60. package/lib/table/style/style.min.css +1 -1
  61. package/lib/ui/index.js +2 -2
  62. package/lib/ui/index.min.js +1 -1
  63. package/lib/ui/src/dom.js +22 -0
  64. package/lib/ui/src/dom.min.js +1 -1
  65. package/lib/ui/src/log.js +1 -1
  66. package/lib/ui/src/log.min.js +1 -1
  67. package/lib/v-x-e-table/index.js +2 -1
  68. package/lib/v-x-e-table/index.min.js +1 -1
  69. package/lib/vxe-colgroup/index.js +2 -1
  70. package/lib/vxe-colgroup/index.min.js +1 -1
  71. package/lib/vxe-column/index.js +2 -1
  72. package/lib/vxe-column/index.min.js +1 -1
  73. package/lib/vxe-grid/index.js +2 -1
  74. package/lib/vxe-grid/index.min.js +1 -1
  75. package/lib/vxe-table/index.js +2 -1
  76. package/lib/vxe-table/index.min.js +1 -1
  77. package/lib/vxe-table/style/style.css +23 -50
  78. package/lib/vxe-table/style/style.min.css +1 -1
  79. package/lib/vxe-toolbar/index.js +2 -1
  80. package/lib/vxe-toolbar/index.min.js +1 -1
  81. package/lib/vxe-ui/index.js +2 -1
  82. package/lib/vxe-ui/index.min.js +1 -1
  83. package/lib/vxe-v-x-e-table/index.js +2 -1
  84. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  85. package/package.json +1 -1
  86. package/packages/table/module/custom/mixin.ts +7 -4
  87. package/packages/table/module/custom/panel.ts +846 -839
  88. package/packages/table/module/edit/mixin.ts +55 -35
  89. package/packages/table/module/export/export-panel.ts +545 -469
  90. package/packages/table/module/export/import-panel.ts +245 -202
  91. package/packages/table/module/filter/panel.ts +4 -18
  92. package/packages/table/module/keyboard/mixin.ts +2 -2
  93. package/packages/table/module/menu/panel.ts +171 -163
  94. package/packages/table/module/validator/mixin.ts +279 -240
  95. package/packages/table/src/body.ts +2 -1
  96. package/packages/table/src/cell.ts +2 -2
  97. package/packages/table/src/methods.ts +43 -45
  98. package/packages/table/src/table.ts +14 -260
  99. package/packages/table/src/util.ts +254 -0
  100. package/packages/ui/index.ts +1 -1
  101. package/packages/ui/src/dom.ts +22 -0
  102. package/styles/components/table.scss +5 -2
  103. package/styles/theme/base.scss +2 -1
  104. /package/es/{iconfont.1767145426781.ttf → iconfont.1767492234857.ttf} +0 -0
  105. /package/es/{iconfont.1767145426781.woff → iconfont.1767492234857.woff} +0 -0
  106. /package/es/{iconfont.1767145426781.woff2 → iconfont.1767492234857.woff2} +0 -0
  107. /package/lib/{iconfont.1767145426781.ttf → iconfont.1767492234857.ttf} +0 -0
  108. /package/lib/{iconfont.1767145426781.woff → iconfont.1767492234857.woff} +0 -0
  109. /package/lib/{iconfont.1767145426781.woff2 → iconfont.1767492234857.woff2} +0 -0
@@ -491,7 +491,7 @@ export const Cell = {
491
491
  ])
492
492
  },
493
493
  renderDeepCell (h: CreateElement, params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
494
- return Cell.renderDeepNodeBtn(h, params, Cell.renderDefaultCell.call(this, h, params))
494
+ return Cell.renderDeepNodeBtn(h, params, Cell.renderDefaultCell(h, params))
495
495
  },
496
496
  renderDefaultFooter (h: CreateElement, params: VxeTableDefines.CellRenderFooterParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
497
497
  return getFooterContent(h, params)
@@ -1278,7 +1278,7 @@ export const Cell = {
1278
1278
  }, [getDefaultCellLabel(cellParams)])
1279
1279
  ])
1280
1280
  }
1281
- return Cell.renderDefaultCell.call($table, h, cellParams)
1281
+ return Cell.renderDefaultCell(h, cellParams)
1282
1282
  }
1283
1283
  } as any
1284
1284
 
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils'
2
- import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement } from '../../ui/src/dom'
2
+ import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, scrollTopTo, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement } from '../../ui/src/dom'
3
3
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils'
4
4
  import { VxeUI } from '../../ui'
5
5
  import Cell from './cell'
@@ -9,7 +9,8 @@ import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimat
9
9
  import { warnLog, errLog } from '../../ui/src/log'
10
10
  import { getCrossTableDragRowInfo } from './store'
11
11
 
12
- import type { VxeTableDefines, VxeColumnPropTypes, VxeTableEmits, ValueOf, TableReactData, VxeTableConstructor, VxeToolbarConstructor, VxeToolbarInstance, TableInternalData, VxeGridConstructor, VxeTablePrivateMethods, VxeTooltipInstance, VxeTablePropTypes, VxeGridPrivateMethods } from '../../../types'
12
+ import type { VxeTooltipInstance, ValueOf } from 'vxe-pc-ui'
13
+ import type { VxeTableDefines, VxeColumnPropTypes, VxeTableEmits, TableReactData, VxeTableConstructor, VxeToolbarConstructor, VxeToolbarInstance, TableInternalData, VxeGridConstructor, VxeTablePrivateMethods, VxeTablePropTypes, VxeGridPrivateMethods } from '../../../types'
13
14
 
14
15
  const { getConfig, getI18n, renderer, formats, interceptor, createEvent } = VxeUI
15
16
 
@@ -4061,28 +4062,6 @@ const wheelScrollLeftTo = (scrollLeft: number, cb: (offsetLeft: number) => void)
4061
4062
  })
4062
4063
  }
4063
4064
 
4064
- const wheelScrollTopTo = (diffNum: number, cb: (progress: number) => void) => {
4065
- const duration = Math.abs(diffNum)
4066
- const startTime = performance.now()
4067
- let countTop = 0
4068
- const step = (timestamp: number) => {
4069
- let progress = (timestamp - startTime) / duration
4070
- if (progress < 0) {
4071
- progress = 0
4072
- } else if (progress > 1) {
4073
- progress = 1
4074
- }
4075
- const easedProgress = Math.pow(progress, 2)
4076
- const offsetTop = Math.floor((diffNum * easedProgress)) - countTop
4077
- countTop += offsetTop
4078
- cb(offsetTop)
4079
- if (progress < 1) {
4080
- requestAnimationFrame(step)
4081
- }
4082
- }
4083
- requestAnimationFrame(step)
4084
- }
4085
-
4086
4065
  const syncGanttScrollTop = ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, scrollTop: number) => {
4087
4066
  const internalData = $xeTable as unknown as TableInternalData
4088
4067
 
@@ -7416,8 +7395,8 @@ const tableMethods: any = {
7416
7395
  const { actived } = editStore
7417
7396
  if (isActivated && !filterStore.visible) {
7418
7397
  if (!(actived.row || actived.column)) {
7419
- if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && this.handlePasteCellAreaEvent) {
7420
- this.handlePasteCellAreaEvent(evnt)
7398
+ if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && $xeTable.handlePeClAreaEvent) {
7399
+ $xeTable.handlePeClAreaEvent(evnt)
7421
7400
  }
7422
7401
  }
7423
7402
  $xeTable.dispatchEvent('paste', {}, evnt)
@@ -7430,8 +7409,8 @@ const tableMethods: any = {
7430
7409
  const { actived } = editStore
7431
7410
  if (isActivated && !filterStore.visible) {
7432
7411
  if (!(actived.row || actived.column)) {
7433
- if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && this.handleCopyCellAreaEvent) {
7434
- this.handleCopyCellAreaEvent(evnt)
7412
+ if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && $xeTable.handleCyClAreaEvent) {
7413
+ $xeTable.handleCyClAreaEvent(evnt)
7435
7414
  }
7436
7415
  }
7437
7416
  $xeTable.dispatchEvent('copy', {}, evnt)
@@ -7444,8 +7423,8 @@ const tableMethods: any = {
7444
7423
  const { actived } = editStore
7445
7424
  if (isActivated && !filterStore.visible) {
7446
7425
  if (!(actived.row || actived.column)) {
7447
- if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && this.handleCutCellAreaEvent) {
7448
- this.handleCutCellAreaEvent(evnt)
7426
+ if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && $xeTable.handleCutCellAreaEvent) {
7427
+ $xeTable.handleCutCellAreaEvent(evnt)
7449
7428
  }
7450
7429
  }
7451
7430
  $xeTable.dispatchEvent('cut', {}, evnt)
@@ -7635,12 +7614,13 @@ const tableMethods: any = {
7635
7614
  }
7636
7615
  },
7637
7616
  openTooltip (target: HTMLElement, content: string | number) {
7638
- const { $refs } = this
7639
- const commTip = $refs.refCommTooltip
7617
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
7618
+
7619
+ const commTip = $xeTable.$refs.refCommTooltip as VxeTooltipInstance
7640
7620
  if (commTip) {
7641
7621
  return commTip.open(target, content)
7642
7622
  }
7643
- return this.$nextTick()
7623
+ return $xeTable.$nextTick()
7644
7624
  },
7645
7625
  /**
7646
7626
  * 关闭 tooltip
@@ -7668,23 +7648,31 @@ const tableMethods: any = {
7668
7648
  if (commTip) {
7669
7649
  commTip.close()
7670
7650
  }
7671
- return this.$nextTick()
7651
+ return $xeTable.$nextTick()
7672
7652
  },
7673
7653
  /**
7674
7654
  * 判断列头复选框是否被选中
7675
7655
  */
7676
7656
  isAllCheckboxChecked () {
7677
- return this.isAllSelected
7657
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
7658
+ const reactData = $xeTable as unknown as TableReactData
7659
+
7660
+ return reactData.isAllSelected
7678
7661
  },
7679
7662
  /**
7680
7663
  * 判断列头复选框是否被半选
7681
7664
  */
7682
7665
  isAllCheckboxIndeterminate () {
7683
- return !this.isAllSelected && this.isIndeterminate
7666
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
7667
+ const reactData = $xeTable as unknown as TableReactData
7668
+
7669
+ return !reactData.isAllSelected && reactData.isIndeterminate
7684
7670
  },
7685
7671
  isCheckboxIndeterminate () {
7672
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
7673
+
7686
7674
  warnLog('vxe.error.delFunc', ['isCheckboxIndeterminate', 'isAllCheckboxIndeterminate'])
7687
- return this.isAllCheckboxIndeterminate()
7675
+ return $xeTable.isAllCheckboxIndeterminate()
7688
7676
  },
7689
7677
  /**
7690
7678
  * 获取复选框半选状态的行数据
@@ -8254,8 +8242,11 @@ const tableMethods: any = {
8254
8242
  return null
8255
8243
  },
8256
8244
  clearRadioReserve () {
8257
- this.radioReserveRow = null
8258
- return this.$nextTick()
8245
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8246
+ const internalData = $xeTable as unknown as TableInternalData
8247
+
8248
+ internalData.radioReserveRow = null
8249
+ return $xeTable.$nextTick()
8259
8250
  },
8260
8251
  /**
8261
8252
  * 获取复选框保留选中的行
@@ -8300,13 +8291,20 @@ const tableMethods: any = {
8300
8291
  return reserveSelection
8301
8292
  },
8302
8293
  clearCheckboxReserve () {
8303
- this.checkboxReserveRowMap = {}
8304
- return this.$nextTick()
8294
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8295
+ const internalData = $xeTable as unknown as TableInternalData
8296
+
8297
+ internalData.checkboxReserveRowMap = {}
8298
+ return $xeTable.$nextTick()
8305
8299
  },
8306
8300
  handleCheckboxReserveRow (row: any, checked: any) {
8307
- const { checkboxReserveRowMap, checkboxOpts } = this
8301
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8302
+ const internalData = $xeTable as unknown as TableInternalData
8303
+
8304
+ const { checkboxReserveRowMap } = internalData
8305
+ const checkboxOpts = $xeTable.computeCheckboxOpts
8308
8306
  if (checkboxOpts.reserve) {
8309
- const rowid = getRowid(this, row)
8307
+ const rowid = getRowid($xeTable, row)
8310
8308
  if (checked) {
8311
8309
  checkboxReserveRowMap[rowid] = row
8312
8310
  } else if (checkboxReserveRowMap[rowid]) {
@@ -8315,7 +8313,7 @@ const tableMethods: any = {
8315
8313
  }
8316
8314
  },
8317
8315
  handleCheckAllEvent (evnt: any, value: any) {
8318
- const $xeTable = this
8316
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8319
8317
 
8320
8318
  handleCheckedAllCheckboxRow($xeTable, value)
8321
8319
  if (evnt) {
@@ -11722,7 +11720,7 @@ const tableMethods: any = {
11722
11720
  fixed: ''
11723
11721
  })
11724
11722
  } else {
11725
- wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop: number) => {
11723
+ scrollTopTo(scrollTop - currScrollTop, (offsetTop: number) => {
11726
11724
  const currTopNum = bodyScrollElem.scrollTop + offsetTop
11727
11725
  internalData.inWheelScroll = true
11728
11726
  setScrollTop(yHandleEl, currTopNum)
@@ -2,7 +2,7 @@ import { CreateElement } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { getFuncText, isEnableConf } from '../../ui/src/utils'
4
4
  import { initTpImg } from '../../ui/src/dom'
5
- import { createInternalData, createHandleGetRowId, getCalcHeight, hasDeepKey } from './util'
5
+ import { createReactData, createInternalData, createHandleGetRowId, getCalcHeight, hasDeepKey } from './util'
6
6
  import { VxeUI } from '../../ui'
7
7
  import methods from './methods'
8
8
  import TableBodyComponent from './body'
@@ -546,257 +546,7 @@ export default {
546
546
  data () {
547
547
  const xID = XEUtils.uniqueId()
548
548
 
549
- const reactData: TableReactData = {
550
- // 低性能的静态列
551
- staticColumns: [],
552
- // 渲染的列分组
553
- tableGroupColumn: [],
554
- // 可视区渲染的列
555
- tableColumn: [],
556
- // 渲染中的数据
557
- tableData: [],
558
- // 是否启用了横向 X 可视渲染方式加载
559
- scrollXLoad: false,
560
- // 是否启用了纵向 Y 可视渲染方式加载
561
- scrollYLoad: false,
562
- // 是否存在纵向滚动条
563
- overflowY: true,
564
- // 是否存在横向滚动条
565
- overflowX: false,
566
- // 纵向滚动条的宽度
567
- scrollbarWidth: 0,
568
- // 横向滚动条的高度
569
- scrollbarHeight: 0,
570
- // 最后滚动时间戳
571
- lastScrollTime: 0,
572
- // 行高
573
- rowHeight: 0,
574
- // 表格父容器的高度
575
- parentHeight: 0,
576
- // 是否使用分组表头
577
- isGroup: false,
578
- isAllOverflow: false,
579
- // 复选框属性,是否全选
580
- isAllSelected: false,
581
- // 复选框属性,有选中且非全选状态
582
- isIndeterminate: false,
583
- // 当前行
584
- currentRow: null,
585
- // 单选框属性,选中列
586
- currentColumn: null,
587
- // 单选框属性,选中行
588
- selectRadioRow: null,
589
- // 表尾合计数据
590
- footerTableData: [],
591
- // 行分组列信息
592
- rowGroupColumn: null,
593
- // 展开列信息
594
- expandColumn: null,
595
- checkboxColumn: null,
596
- radioColumn: null,
597
- // 树节点列信息
598
- treeNodeColumn: null,
599
- hasFixedColumn: false,
600
- // 刷新列标识,当列筛选被改变时,触发表格刷新数据
601
- upDataFlag: 0,
602
- // 刷新列标识,当列的特定属性被改变时,触发表格刷新列
603
- reColumnFlag: 0,
604
- // 初始化标识
605
- initStore: {
606
- filter: false,
607
- import: false,
608
- export: false,
609
- custom: false
610
- },
611
- // 自定义列相关的信息
612
- customStore: {
613
- btnEl: null,
614
- isAll: false,
615
- isIndeterminate: false,
616
- activeBtn: false,
617
- activeWrapper: false,
618
- visible: false,
619
- maxHeight: 0,
620
- oldSortMaps: {},
621
- oldFixedMaps: {},
622
- oldVisibleMaps: {}
623
- },
624
- customColumnList: [],
625
- // 当前选中的筛选列
626
- filterStore: {
627
- isAllSelected: false,
628
- isIndeterminate: false,
629
- style: null,
630
- column: null,
631
- visible: false,
632
- maxHeight: null
633
- },
634
- // 存放列相关的信息
635
- columnStore: {
636
- leftList: [],
637
- centerList: [],
638
- rightList: [],
639
- resizeList: [],
640
- pxList: [],
641
- pxMinList: [],
642
- autoMinList: [],
643
- scaleList: [],
644
- scaleMinList: [],
645
- autoList: [],
646
- remainList: []
647
- },
648
- // 存放快捷菜单的信息
649
- ctxMenuStore: {
650
- selected: null,
651
- visible: false,
652
- showChild: false,
653
- selectChild: null,
654
- list: [],
655
- style: null
656
- },
657
- // 存放可编辑相关信息
658
- editStore: {
659
- indexs: {
660
- columns: []
661
- },
662
- titles: {
663
- columns: []
664
- },
665
- // 选中源
666
- selected: {
667
- row: null,
668
- column: null
669
- },
670
- // 已复制源
671
- copyed: {
672
- cut: false,
673
- rows: [],
674
- columns: []
675
- },
676
- // 激活
677
- actived: {
678
- row: null,
679
- column: null
680
- },
681
- // 当前被强制聚焦单元格,只会在鼠标点击后算聚焦
682
- focused: {
683
- row: null,
684
- column: null
685
- }
686
- },
687
- // 存放 tooltip 相关信息
688
- tooltipStore: {
689
- row: null,
690
- column: null,
691
- content: null,
692
- visible: false,
693
- type: null,
694
- currOpts: {}
695
- },
696
- // 存放数据校验相关信息
697
- validStore: {
698
- visible: false
699
- },
700
- validErrorMaps: {},
701
- // 导入相关信息
702
- importStore: {
703
- inited: false,
704
- file: null,
705
- type: '',
706
- modeList: [],
707
- typeList: [],
708
- filename: '',
709
- visible: false
710
- },
711
- importParams: {
712
- mode: '',
713
- types: null,
714
- message: true
715
- },
716
- // 导出相关信息
717
- exportStore: {
718
- inited: false,
719
- name: '',
720
- modeList: [],
721
- typeList: [],
722
- columns: [],
723
- isPrint: false,
724
- hasFooter: false,
725
- hasMerge: false,
726
- hasTree: false,
727
- hasColgroup: false,
728
- visible: false
729
- },
730
- exportParams: {
731
- filename: '',
732
- sheetName: '',
733
- mode: '',
734
- type: '',
735
- isColgroup: false,
736
- isMerge: false,
737
- isAllExpand: false,
738
- useStyle: false,
739
- original: false,
740
- message: true,
741
- isHeader: false,
742
- isTitle: false,
743
- isFooter: false
744
- },
745
-
746
- visiblwRowsFlag: 1,
747
-
748
- isRowGroupStatus: false,
749
- rowGroupList: [],
750
- aggHandleFields: [],
751
- aggHandleAggColumns: [],
752
-
753
- rowGroupExpandedFlag: 1,
754
- rowExpandedFlag: 1,
755
- treeExpandedFlag: 1,
756
- updateCheckboxFlag: 1,
757
- pendingRowFlag: 1,
758
- insertRowFlag: 1,
759
- removeRowFlag: 1,
760
-
761
- mergeHeadFlag: 1,
762
- mergeBodyFlag: 1,
763
- mergeFootFlag: 1,
764
-
765
- rowHeightStore: {
766
- large: 52,
767
- default: 48,
768
- medium: 44,
769
- small: 40,
770
- mini: 36
771
- },
772
-
773
- scrollVMLoading: false,
774
- scrollYHeight: 0,
775
- scrollYTop: 0,
776
- isScrollYBig: false,
777
- scrollXLeft: 0,
778
- scrollXWidth: 0,
779
- isScrollXBig: false,
780
-
781
- lazScrollLoading: false,
782
-
783
- rowExpandHeightFlag: 1,
784
- calcCellHeightFlag: 1,
785
- resizeHeightFlag: 1,
786
- resizeWidthFlag: 1,
787
-
788
- isCustomStatus: false,
789
-
790
- isCrossDragRow: false,
791
- dragRow: null,
792
- isCrossDragCol: false,
793
- dragCol: null,
794
- dragTipText: '',
795
-
796
- isDragResize: false,
797
- isRowLoading: false,
798
- isColLoading: false
799
- }
549
+ const reactData = createReactData()
800
550
 
801
551
  return {
802
552
  xID,
@@ -846,7 +596,12 @@ export default {
846
596
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
847
597
  const props = $xeTable
848
598
 
849
- return Object.assign({}, getConfig().table.validConfig, props.validConfig)
599
+ const opts = Object.assign({}, getConfig().table.validConfig, props.validConfig)
600
+ // 兼容老版本
601
+ if (XEUtils.isBoolean(opts.showMessage)) {
602
+ opts.showErrorMessage = opts.showMessage
603
+ }
604
+ return opts
850
605
  },
851
606
  sXOpts () {
852
607
  return this.computeVirtualXOpts
@@ -1855,7 +1610,7 @@ export default {
1855
1610
  if (rowOpts.height && !this.showOverflow) {
1856
1611
  warnLog('vxe.error.notProp', ['table.show-overflow'])
1857
1612
  }
1858
- if (!$xeTable.triggerCellAreaModnEvent) {
1613
+ if (!$xeTable.triggerClAreaModnEvent) {
1859
1614
  if (props.areaConfig) {
1860
1615
  warnLog('vxe.error.notProp', ['area-config'])
1861
1616
  }
@@ -2156,6 +1911,7 @@ export default {
2156
1911
  },
2157
1912
  beforeDestroy () {
2158
1913
  const $xeTable = this
1914
+ const reactData = $xeTable as unknown as TableReactData
2159
1915
 
2160
1916
  const teleportWrapperEl = $xeTable.$refs.refTeleportWrapper as HTMLDivElement
2161
1917
  if (teleportWrapperEl && teleportWrapperEl.parentElement) {
@@ -2187,6 +1943,8 @@ export default {
2187
1943
  globalEvents.off($xeTable, 'contextmenu')
2188
1944
 
2189
1945
  this.preventEvent(null, 'beforeDestroy')
1946
+
1947
+ XEUtils.assign(reactData, createReactData())
2190
1948
  },
2191
1949
  destroyed () {
2192
1950
  const $xeTable = this
@@ -2458,11 +2216,7 @@ export default {
2458
2216
  isContentMenu
2459
2217
  ? h(TableMenuPanelComponent, {
2460
2218
  key: 'tm',
2461
- ref: 'refTableMenu',
2462
- props: {
2463
- ctxMenuStore: this.ctxMenuStore,
2464
- ctxMenuOpts: this.ctxMenuOpts
2465
- }
2219
+ ref: 'refTableMenu'
2466
2220
  })
2467
2221
  : renderEmptyElement($xeTable)
2468
2222
  ])
@@ -2555,7 +2309,7 @@ export default {
2555
2309
  /**
2556
2310
  * 校验提示
2557
2311
  */
2558
- VxeUITooltipComponent && this.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip')
2312
+ VxeUITooltipComponent && this.editRules && validOpts.showErrorMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip')
2559
2313
  ? h(VxeUITooltipComponent, {
2560
2314
  key: 'vtp',
2561
2315
  ref: 'refValidTooltip',