vxe-table 3.13.14 → 3.14.0-beta.0

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 (131) hide show
  1. package/es/grid/src/grid.js +41 -31
  2. package/es/locale/lang/ar-EG.js +1 -0
  3. package/es/locale/lang/de-DE.js +1 -0
  4. package/es/locale/lang/en-US.js +3 -2
  5. package/es/locale/lang/es-ES.js +1 -0
  6. package/es/locale/lang/fr-FR.js +1 -0
  7. package/es/locale/lang/hu-HU.js +1 -0
  8. package/es/locale/lang/hy-AM.js +1 -0
  9. package/es/locale/lang/id-ID.js +1 -0
  10. package/es/locale/lang/it-IT.js +1 -0
  11. package/es/locale/lang/ja-JP.js +1 -0
  12. package/es/locale/lang/ko-KR.js +1 -0
  13. package/es/locale/lang/nb-NO.js +1 -0
  14. package/es/locale/lang/pt-BR.js +1 -0
  15. package/es/locale/lang/ru-RU.js +1 -0
  16. package/es/locale/lang/th-TH.js +1 -0
  17. package/es/locale/lang/ug-CN.js +1 -0
  18. package/es/locale/lang/uk-UA.js +1 -0
  19. package/es/locale/lang/vi-VN.js +1 -0
  20. package/es/locale/lang/zh-CHT.js +1 -0
  21. package/es/locale/lang/zh-CN.js +1 -0
  22. package/es/style.css +1 -1
  23. package/es/table/module/custom/panel.js +18 -16
  24. package/es/table/module/edit/mixin.js +3 -1
  25. package/es/table/src/cell.js +2 -1
  26. package/es/table/src/methods.js +297 -178
  27. package/es/table/src/table.js +170 -165
  28. package/es/ui/index.js +1 -1
  29. package/es/ui/src/log.js +1 -1
  30. package/lib/grid/src/grid.js +41 -32
  31. package/lib/grid/src/grid.min.js +1 -1
  32. package/lib/index.umd.js +1743 -2683
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/locale/lang/ar-EG.js +1 -0
  35. package/lib/locale/lang/ar-EG.min.js +1 -1
  36. package/lib/locale/lang/de-DE.js +1 -0
  37. package/lib/locale/lang/de-DE.min.js +1 -1
  38. package/lib/locale/lang/en-US.js +3 -2
  39. package/lib/locale/lang/en-US.min.js +1 -1
  40. package/lib/locale/lang/en-US.umd.js +3 -2
  41. package/lib/locale/lang/es-ES.js +1 -0
  42. package/lib/locale/lang/es-ES.min.js +1 -1
  43. package/lib/locale/lang/es-ES.umd.js +1 -0
  44. package/lib/locale/lang/fr-FR.js +1 -0
  45. package/lib/locale/lang/fr-FR.min.js +1 -1
  46. package/lib/locale/lang/hu-HU.js +1 -0
  47. package/lib/locale/lang/hu-HU.min.js +1 -1
  48. package/lib/locale/lang/hu-HU.umd.js +1 -0
  49. package/lib/locale/lang/hy-AM.js +1 -0
  50. package/lib/locale/lang/hy-AM.min.js +1 -1
  51. package/lib/locale/lang/id-ID.js +1 -0
  52. package/lib/locale/lang/id-ID.min.js +1 -1
  53. package/lib/locale/lang/it-IT.js +1 -0
  54. package/lib/locale/lang/it-IT.min.js +1 -1
  55. package/lib/locale/lang/ja-JP.js +1 -0
  56. package/lib/locale/lang/ja-JP.min.js +1 -1
  57. package/lib/locale/lang/ja-JP.umd.js +1 -0
  58. package/lib/locale/lang/ko-KR.js +1 -0
  59. package/lib/locale/lang/ko-KR.min.js +1 -1
  60. package/lib/locale/lang/ko-KR.umd.js +1 -0
  61. package/lib/locale/lang/nb-NO.js +1 -0
  62. package/lib/locale/lang/nb-NO.min.js +1 -1
  63. package/lib/locale/lang/pt-BR.js +1 -0
  64. package/lib/locale/lang/pt-BR.min.js +1 -1
  65. package/lib/locale/lang/pt-BR.umd.js +1 -0
  66. package/lib/locale/lang/ru-RU.js +1 -0
  67. package/lib/locale/lang/ru-RU.min.js +1 -1
  68. package/lib/locale/lang/ru-RU.umd.js +1 -0
  69. package/lib/locale/lang/th-TH.js +1 -0
  70. package/lib/locale/lang/th-TH.min.js +1 -1
  71. package/lib/locale/lang/ug-CN.js +1 -0
  72. package/lib/locale/lang/ug-CN.min.js +1 -1
  73. package/lib/locale/lang/uk-UA.js +1 -0
  74. package/lib/locale/lang/uk-UA.min.js +1 -1
  75. package/lib/locale/lang/uk-UA.umd.js +1 -0
  76. package/lib/locale/lang/vi-VN.js +1 -0
  77. package/lib/locale/lang/vi-VN.min.js +1 -1
  78. package/lib/locale/lang/zh-CHT.js +1 -0
  79. package/lib/locale/lang/zh-CHT.min.js +1 -1
  80. package/lib/locale/lang/zh-CHT.umd.js +1 -0
  81. package/lib/locale/lang/zh-CN.js +1 -0
  82. package/lib/locale/lang/zh-CN.min.js +1 -1
  83. package/lib/locale/lang/zh-CN.umd.js +1 -0
  84. package/lib/style.css +1 -1
  85. package/lib/table/module/custom/panel.js +18 -16
  86. package/lib/table/module/custom/panel.min.js +1 -1
  87. package/lib/table/module/edit/mixin.js +3 -1
  88. package/lib/table/module/edit/mixin.min.js +1 -1
  89. package/lib/table/src/cell.js +2 -1
  90. package/lib/table/src/cell.min.js +1 -1
  91. package/lib/table/src/methods.js +312 -184
  92. package/lib/table/src/methods.min.js +1 -1
  93. package/lib/table/src/table.js +179 -180
  94. package/lib/table/src/table.min.js +1 -1
  95. package/lib/ui/index.js +1 -1
  96. package/lib/ui/index.min.js +1 -1
  97. package/lib/ui/src/log.js +1 -1
  98. package/lib/ui/src/log.min.js +1 -1
  99. package/package.json +2 -2
  100. package/packages/grid/src/grid.ts +41 -31
  101. package/packages/locale/lang/ar-EG.ts +1 -0
  102. package/packages/locale/lang/de-DE.ts +1 -0
  103. package/packages/locale/lang/en-US.ts +3 -2
  104. package/packages/locale/lang/es-ES.ts +1 -0
  105. package/packages/locale/lang/fr-FR.ts +1 -0
  106. package/packages/locale/lang/hu-HU.ts +1 -0
  107. package/packages/locale/lang/hy-AM.ts +1 -0
  108. package/packages/locale/lang/id-ID.ts +1 -0
  109. package/packages/locale/lang/it-IT.ts +1 -0
  110. package/packages/locale/lang/ja-JP.ts +1 -0
  111. package/packages/locale/lang/ko-KR.ts +1 -0
  112. package/packages/locale/lang/nb-NO.ts +1 -0
  113. package/packages/locale/lang/pt-BR.ts +1 -0
  114. package/packages/locale/lang/ru-RU.ts +1 -0
  115. package/packages/locale/lang/th-TH.ts +1 -0
  116. package/packages/locale/lang/ug-CN.ts +1 -0
  117. package/packages/locale/lang/uk-UA.ts +1 -0
  118. package/packages/locale/lang/vi-VN.ts +1 -0
  119. package/packages/locale/lang/zh-CHT.ts +1 -0
  120. package/packages/locale/lang/zh-CN.ts +1 -0
  121. package/packages/table/module/custom/panel.ts +22 -20
  122. package/packages/table/module/edit/mixin.ts +3 -1
  123. package/packages/table/src/cell.ts +2 -1
  124. package/packages/table/src/methods.ts +308 -182
  125. package/packages/table/src/table.ts +172 -165
  126. /package/es/{iconfont.1740640529071.ttf → iconfont.1740732119954.ttf} +0 -0
  127. /package/es/{iconfont.1740640529071.woff → iconfont.1740732119954.woff} +0 -0
  128. /package/es/{iconfont.1740640529071.woff2 → iconfont.1740732119954.woff2} +0 -0
  129. /package/lib/{iconfont.1740640529071.ttf → iconfont.1740732119954.ttf} +0 -0
  130. /package/lib/{iconfont.1740640529071.woff → iconfont.1740732119954.woff} +0 -0
  131. /package/lib/{iconfont.1740640529071.woff2 → iconfont.1740732119954.woff2} +0 -0
@@ -1289,8 +1289,10 @@ export default {
1289
1289
  } as any,
1290
1290
  created () {
1291
1291
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
1292
+ const props = $xeTable
1293
+ const internalData = $xeTable as unknown as TableInternalData
1292
1294
 
1293
- const { scrollXStore, sYOpts, scrollYStore, data, editOpts, treeOpts, treeConfig, showOverflow, rowOpts } = Object.assign(this, {
1295
+ Object.assign($xeTable, {
1294
1296
  tZindex: 0,
1295
1297
  elemStore: {},
1296
1298
  // 存放横向 X 虚拟滚动相关的信息
@@ -1358,165 +1360,168 @@ export default {
1358
1360
  swYTotal: 0
1359
1361
  })
1360
1362
 
1361
- if (process.env.VUE_APP_VXE_ENV === 'development') {
1362
- if (this.rowId) {
1363
- warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField'])
1364
- }
1365
- if (this.rowKey) {
1366
- warnLog('vxe.error.delProp', ['row-key', 'row-config.useKey'])
1367
- }
1368
- if (this.columnKey) {
1369
- warnLog('vxe.error.delProp', ['column-id', 'column-config.useKey'])
1370
- }
1371
- if (!(this.rowId || rowOpts.keyField) && (this.checkboxOpts.reserve || this.checkboxOpts.checkRowKeys || this.radioOpts.reserve || this.radioOpts.checkRowKey || this.expandOpts.expandRowKeys || this.treeOpts.expandRowKeys)) {
1372
- warnLog('vxe.error.reqProp', ['row-config.keyField'])
1373
- }
1374
- if (this.editConfig && editOpts.showStatus && !this.keepSource) {
1375
- warnLog('vxe.error.reqProp', ['keep-source'])
1376
- }
1377
- if (treeConfig && (treeOpts.showLine || treeOpts.line) && (!(this.rowKey || rowOpts.useKey) || !showOverflow)) {
1378
- warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow'])
1379
- }
1380
- if (treeConfig && !treeOpts.transform && this.stripe) {
1381
- warnLog('vxe.error.noTree', ['stripe'])
1382
- }
1383
- if (this.showFooter && !(this.footerMethod || this.footerData)) {
1384
- warnLog('vxe.error.reqProp', ['footer-data | footer-method'])
1385
- }
1386
- if (rowOpts.height) {
1387
- warnLog('vxe.error.delProp', ['row-config.height', 'cell-config.height'])
1388
- }
1389
- if (this.tooltipOpts.enabled) {
1390
- warnLog('vxe.error.delProp', ['tooltip-config.enabled', 'tooltip-config.showAll'])
1391
- }
1392
- // if (this.highlightCurrentRow) {
1393
- // warnLog('vxe.error.delProp', ['highlight-current-row', 'row-config.isCurrent'])
1394
- // }
1395
- // if (this.highlightHoverRow) {
1396
- // warnLog('vxe.error.delProp', ['highlight-hover-row', 'row-config.isHover'])
1397
- // }
1398
- // if (this.highlightCurrentColumn) {
1399
- // warnLog('vxe.error.delProp', ['highlight-current-column', 'column-config.isCurrent'])
1400
- // }
1401
- // if (this.highlightHoverColumn) {
1402
- // warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover'])
1403
- // }
1404
- // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
1405
- const { exportConfig, exportOpts, importConfig, importOpts } = this
1406
- if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1407
- warnLog('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter((type: string) => XEUtils.includes(XEUtils.keys(importOpts._typeMaps), type)).join(',') || XEUtils.keys(importOpts._typeMaps).join(',')])
1408
- }
1409
- if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
1410
- warnLog('vxe.error.errProp', [`export-config.types=${exportOpts.types.join(',')}`, exportOpts.types.filter((type: string) => XEUtils.includes(XEUtils.keys(exportOpts._typeMaps), type)).join(',') || XEUtils.keys(exportOpts._typeMaps).join(',')])
1411
- }
1363
+ const { data, exportConfig, importConfig, treeConfig, showOverflow } = props
1364
+ const { scrollXStore, scrollYStore } = internalData
1365
+ const sYOpts = $xeTable.computeSYOpts
1366
+ const editOpts = $xeTable.computeEditOpts
1367
+ const treeOpts = $xeTable.computeTreeOpts
1368
+ const radioOpts = $xeTable.computeRadioOpts
1369
+ const checkboxOpts = $xeTable.computeCheckboxOpts
1370
+ const expandOpts = $xeTable.computeExpandOpts
1371
+ const rowOpts = $xeTable.computeRowOpts
1372
+ const customOpts = $xeTable.computeCustomOpts
1373
+ const mouseOpts = $xeTable.computeMouseOpts
1374
+ const exportOpts = $xeTable.computeExportOpts
1375
+ const importOpts = $xeTable.computeImportOpts
1376
+
1377
+ if (props.rowId) {
1378
+ warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField'])
1379
+ }
1380
+ if (props.rowKey) {
1381
+ warnLog('vxe.error.delProp', ['row-key', 'row-config.useKey'])
1382
+ }
1383
+ if (props.columnKey) {
1384
+ warnLog('vxe.error.delProp', ['column-id', 'column-config.useKey'])
1385
+ }
1386
+ if (!(props.rowId || rowOpts.keyField) && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || treeOpts.expandRowKeys)) {
1387
+ warnLog('vxe.error.reqProp', ['row-config.keyField'])
1388
+ }
1389
+ if (props.editConfig && editOpts.showStatus && !props.keepSource) {
1390
+ warnLog('vxe.error.reqProp', ['keep-source'])
1391
+ }
1392
+ if (treeConfig && (treeOpts.showLine || treeOpts.line) && (!(props.rowKey || rowOpts.useKey) || !showOverflow)) {
1393
+ warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow'])
1394
+ }
1395
+ if (treeConfig && !treeOpts.transform && props.stripe) {
1396
+ warnLog('vxe.error.noTree', ['stripe'])
1397
+ }
1398
+ if (props.showFooter && !(props.footerMethod || props.footerData)) {
1399
+ warnLog('vxe.error.reqProp', ['footer-data | footer-method'])
1400
+ }
1401
+ if (rowOpts.height) {
1402
+ warnLog('vxe.error.delProp', ['row-config.height', 'cell-config.height'])
1403
+ }
1404
+ if (this.tooltipOpts.enabled) {
1405
+ warnLog('vxe.error.delProp', ['tooltip-config.enabled', 'tooltip-config.showAll'])
1406
+ }
1407
+ if (this.highlightCurrentRow) {
1408
+ warnLog('vxe.error.delProp', ['highlight-current-row', 'row-config.isCurrent'])
1409
+ }
1410
+ if (this.highlightHoverRow) {
1411
+ warnLog('vxe.error.delProp', ['highlight-hover-row', 'row-config.isHover'])
1412
+ }
1413
+ if (this.highlightCurrentColumn) {
1414
+ warnLog('vxe.error.delProp', ['highlight-current-column', 'column-config.isCurrent'])
1415
+ }
1416
+ if (this.highlightHoverColumn) {
1417
+ warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover'])
1418
+ }
1419
+ // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
1420
+ if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1421
+ warnLog('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(importOpts._typeMaps), type)).join(',') || XEUtils.keys(importOpts._typeMaps).join(',')])
1422
+ }
1423
+ if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
1424
+ warnLog('vxe.error.errProp', [`export-config.types=${exportOpts.types.join(',')}`, exportOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(exportOpts._typeMaps), type)).join(',') || XEUtils.keys(exportOpts._typeMaps).join(',')])
1412
1425
  }
1413
1426
 
1414
- if (process.env.VUE_APP_VXE_ENV === 'development') {
1415
- const customOpts = this.customOpts
1416
- if (!this.id) {
1417
- if ((this.customConfig ? isEnableConf(customOpts) : customOpts.enabled) && customOpts.storage) {
1418
- errLog('vxe.error.reqProp', ['id'])
1419
- }
1420
- }
1421
- if (this.treeConfig && this.checkboxOpts.range) {
1422
- errLog('vxe.error.noTree', ['checkbox-config.range'])
1423
- }
1424
- if (this.rowOpts.height && !this.showOverflow) {
1425
- warnLog('vxe.error.notProp', ['table.show-overflow'])
1426
- }
1427
- if (!this.handleMousedownCellAreaEvent) {
1428
- if (this.areaConfig) {
1429
- warnLog('vxe.error.notProp', ['area-config'])
1430
- }
1431
- if (this.clipConfig) {
1432
- warnLog('vxe.error.notProp', ['clip-config'])
1433
- }
1434
- if (this.fnrConfig) {
1435
- warnLog('vxe.error.notProp', ['fnr-config'])
1436
- }
1437
- if (this.mouseOpts.area) {
1438
- errLog('vxe.error.notProp', ['mouse-config.area'])
1439
- return
1440
- }
1427
+ if (!props.id) {
1428
+ if ((props.customConfig ? isEnableConf(customOpts) : customOpts.enabled) && customOpts.storage) {
1429
+ errLog('vxe.error.reqProp', ['id'])
1441
1430
  }
1442
- if (this.dragConfig) {
1443
- warnLog('vxe.error.delProp', ['drag-config', 'row-drag-config'])
1444
- }
1445
- if (this.treeConfig && treeOpts.children) {
1446
- warnLog('vxe.error.delProp', ['tree-config.children', 'tree-config.childrenField'])
1431
+ }
1432
+ if (treeConfig && checkboxOpts.range) {
1433
+ errLog('vxe.error.noTree', ['checkbox-config.range'])
1434
+ }
1435
+ if (rowOpts.height && !this.showOverflow) {
1436
+ warnLog('vxe.error.notProp', ['table.show-overflow'])
1437
+ }
1438
+ if (!$xeTable.handleMousedownCellAreaEvent) {
1439
+ if (props.areaConfig) {
1440
+ warnLog('vxe.error.notProp', ['area-config'])
1447
1441
  }
1448
- if (this.treeConfig && treeOpts.line) {
1449
- warnLog('vxe.error.delProp', ['tree-config.line', 'tree-config.showLine'])
1442
+ if (props.clipConfig) {
1443
+ warnLog('vxe.error.notProp', ['clip-config'])
1450
1444
  }
1451
- if (this.mouseOpts.area && this.mouseOpts.selected) {
1452
- warnLog('vxe.error.errConflicts', ['mouse-config.area', 'mouse-config.selected'])
1445
+ if (props.fnrConfig) {
1446
+ warnLog('vxe.error.notProp', ['fnr-config'])
1453
1447
  }
1454
- // if (this.mouseOpts.area && this.checkboxOpts.range) {
1455
- // warnLog('vxe.error.errConflicts', ['mouse-config.area', 'checkbox-config.range'])
1456
- // }
1457
- if (this.mouseOpts.area && (this.treeConfig && !treeOpts.transform)) {
1458
- errLog('vxe.error.noTree', ['mouse-config.area'])
1448
+ if (mouseOpts.area) {
1449
+ errLog('vxe.error.notProp', ['mouse-config.area'])
1450
+ return
1459
1451
  }
1460
1452
  }
1453
+ if (treeConfig && rowOpts.drag && !treeOpts.transform) {
1454
+ warnLog('vxe.error.notSupportProp', ['column-config.drag', 'tree-config.transform=false', 'tree-config.transform=true'])
1455
+ }
1456
+ if (props.dragConfig) {
1457
+ warnLog('vxe.error.delProp', ['drag-config', 'row-drag-config'])
1458
+ }
1459
+ if (props.treeConfig && treeOpts.children) {
1460
+ warnLog('vxe.error.delProp', ['tree-config.children', 'tree-config.childrenField'])
1461
+ }
1462
+ if (props.treeConfig && treeOpts.line) {
1463
+ warnLog('vxe.error.delProp', ['tree-config.line', 'tree-config.showLine'])
1464
+ }
1465
+ if (mouseOpts.area && mouseOpts.selected) {
1466
+ warnLog('vxe.error.errConflicts', ['mouse-config.area', 'mouse-config.selected'])
1467
+ }
1468
+ if (mouseOpts.area && (props.treeConfig && !treeOpts.transform)) {
1469
+ errLog('vxe.error.noTree', ['mouse-config.area'])
1470
+ }
1471
+ if (props.editConfig && editOpts.activeMethod) {
1472
+ warnLog('vxe.error.delProp', ['table.edit-config.activeMethod', 'table.edit-config.beforeEditMethod'])
1473
+ }
1474
+ if (props.treeConfig && checkboxOpts.isShiftKey) {
1475
+ errLog('vxe.error.errConflicts', ['tree-config', 'checkbox-config.isShiftKey'])
1476
+ }
1477
+ if (checkboxOpts.halfField) {
1478
+ warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField'])
1479
+ }
1461
1480
 
1462
- // v4 中只支持对象类型
1463
- if (process.env.VUE_APP_VXE_ENV === 'development') {
1464
- // 在 v3.0 中废弃 context-menu
1465
- if (this.contextMenu) {
1466
- warnLog('vxe.error.delProp', ['context-menu', 'menu-config'])
1467
- if (!XEUtils.isObject(this.contextMenu)) {
1468
- warnLog('vxe.error.errProp', [`table.context-menu=${this.contextMenu}`, 'table.context-menu={}'])
1469
- }
1470
- }
1471
- if (this.menuConfig && !XEUtils.isObject(this.menuConfig)) {
1472
- warnLog('vxe.error.errProp', [`table.menu-config=${this.menuConfig}`, 'table.menu-config={}'])
1473
- }
1474
- if (this.exportConfig && !XEUtils.isObject(this.exportConfig)) {
1475
- warnLog('vxe.error.errProp', [`table.export-config=${this.exportConfig}`, 'table.export-config={}'])
1476
- }
1477
- if (this.importConfig && !XEUtils.isObject(this.importConfig)) {
1478
- warnLog('vxe.error.errProp', [`table.import-config=${this.importConfig}`, 'table.import-config={}'])
1479
- }
1480
- if (this.printConfig && !XEUtils.isObject(this.printConfig)) {
1481
- warnLog('vxe.error.errProp', [`table.print-config=${this.printConfig}`, 'table.print-config={}'])
1482
- }
1483
- if (this.treeConfig && !XEUtils.isObject(this.treeConfig)) {
1484
- warnLog('vxe.error.errProp', [`table.tree-config=${this.treeConfig}`, 'table.tree-config={}'])
1485
- }
1486
- if (this.customConfig && !XEUtils.isObject(this.customConfig)) {
1487
- warnLog('vxe.error.errProp', [`table.custom-config=${this.customConfig}`, 'table.custom-config={}'])
1488
- }
1489
- if (this.editConfig && !XEUtils.isObject(this.editConfig)) {
1490
- warnLog('vxe.error.errProp', [`table.edit-config=${this.editConfig}`, 'table.edit-config={}'])
1491
- }
1492
- if (this.emptyRender && !XEUtils.isObject(this.emptyRender)) {
1493
- warnLog('vxe.error.errProp', [`table.empty-render=${this.emptyRender}`, 'table.empty-render={}'])
1494
- }
1495
- if (this.editConfig && this.editOpts.activeMethod) {
1496
- warnLog('vxe.error.delProp', ['table.edit-config.activeMethod', 'table.edit-config.beforeEditMethod'])
1497
- }
1498
- if (this.treeConfig && this.checkboxOpts.isShiftKey) {
1499
- errLog('vxe.error.errConflicts', ['tree-config', 'checkbox-config.isShiftKey'])
1500
- }
1501
- if (this.checkboxOpts.halfField) {
1502
- warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField'])
1481
+ // 在 v3.0 中废弃 context-menu
1482
+ if (this.contextMenu) {
1483
+ warnLog('vxe.error.delProp', ['context-menu', 'menu-config'])
1484
+ if (!XEUtils.isObject(this.contextMenu)) {
1485
+ warnLog('vxe.error.errProp', [`table.context-menu=${this.contextMenu}`, 'table.context-menu={}'])
1503
1486
  }
1504
1487
  }
1488
+ if (this.menuConfig && !XEUtils.isObject(this.menuConfig)) {
1489
+ warnLog('vxe.error.errProp', [`table.menu-config=${this.menuConfig}`, 'table.menu-config={}'])
1490
+ }
1491
+ if (this.exportConfig && !XEUtils.isObject(this.exportConfig)) {
1492
+ warnLog('vxe.error.errProp', [`table.export-config=${this.exportConfig}`, 'table.export-config={}'])
1493
+ }
1494
+ if (this.importConfig && !XEUtils.isObject(this.importConfig)) {
1495
+ warnLog('vxe.error.errProp', [`table.import-config=${this.importConfig}`, 'table.import-config={}'])
1496
+ }
1497
+ if (this.printConfig && !XEUtils.isObject(this.printConfig)) {
1498
+ warnLog('vxe.error.errProp', [`table.print-config=${this.printConfig}`, 'table.print-config={}'])
1499
+ }
1500
+ if (this.treeConfig && !XEUtils.isObject(this.treeConfig)) {
1501
+ warnLog('vxe.error.errProp', [`table.tree-config=${this.treeConfig}`, 'table.tree-config={}'])
1502
+ }
1503
+ if (this.customConfig && !XEUtils.isObject(this.customConfig)) {
1504
+ warnLog('vxe.error.errProp', [`table.custom-config=${this.customConfig}`, 'table.custom-config={}'])
1505
+ }
1506
+ if (this.editConfig && !XEUtils.isObject(this.editConfig)) {
1507
+ warnLog('vxe.error.errProp', [`table.edit-config=${this.editConfig}`, 'table.edit-config={}'])
1508
+ }
1509
+ if (this.emptyRender && !XEUtils.isObject(this.emptyRender)) {
1510
+ warnLog('vxe.error.errProp', [`table.empty-render=${this.emptyRender}`, 'table.empty-render={}'])
1511
+ }
1505
1512
 
1506
1513
  // 检查是否有安装需要的模块
1507
- if (process.env.VUE_APP_VXE_ENV === 'development') {
1508
- if (this.editConfig && !this._insert) {
1509
- errLog('vxe.error.reqModule', ['Edit'])
1510
- }
1511
- if (this.editRules && !this._validate) {
1512
- errLog('vxe.error.reqModule', ['Validator'])
1513
- }
1514
- if ((this.checkboxOpts.range || this.keyboardConfig || this.mouseConfig) && !this.handleCellMousedownEvent) {
1515
- errLog('vxe.error.reqModule', ['Keyboard'])
1516
- }
1517
- if ((this.printConfig || this.importConfig || this.exportConfig) && !this._exportData) {
1518
- errLog('vxe.error.reqModule', ['Export'])
1519
- }
1514
+ if (props.editConfig && !$xeTable.insert) {
1515
+ errLog('vxe.error.reqModule', ['Edit'])
1516
+ }
1517
+ if (props.editRules && !$xeTable.validate) {
1518
+ errLog('vxe.error.reqModule', ['Validator'])
1519
+ }
1520
+ if ((checkboxOpts.range || props.keyboardConfig || props.mouseConfig) && !$xeTable.handleCellMousedownEvent) {
1521
+ errLog('vxe.error.reqModule', ['Keyboard'])
1522
+ }
1523
+ if ((props.printConfig || props.importConfig || props.exportConfig) && !$xeTable.exportData) {
1524
+ errLog('vxe.error.reqModule', ['Export'])
1520
1525
  }
1521
1526
 
1522
1527
  Object.assign(scrollYStore, {
@@ -1539,15 +1544,15 @@ export default {
1539
1544
  this.handleInitDefaults()
1540
1545
  this.updateStyle()
1541
1546
  })
1542
- globalEvents.on(this, 'paste', this.handleGlobalPasteEvent)
1543
- globalEvents.on(this, 'copy', this.handleGlobalCopyEvent)
1544
- globalEvents.on(this, 'cut', this.handleGlobalCutEvent)
1545
- globalEvents.on(this, 'mousedown', this.handleGlobalMousedownEvent)
1546
- globalEvents.on(this, 'blur', this.handleGlobalBlurEvent)
1547
- globalEvents.on(this, 'mousewheel', this.handleGlobalMousewheelEvent)
1548
- globalEvents.on(this, 'keydown', this.handleGlobalKeydownEvent)
1549
- globalEvents.on(this, 'resize', this.handleGlobalResizeEvent)
1550
- globalEvents.on(this, 'contextmenu', this.handleGlobalContextmenuEvent)
1547
+ globalEvents.on($xeTable, 'paste', this.handleGlobalPasteEvent)
1548
+ globalEvents.on($xeTable, 'copy', this.handleGlobalCopyEvent)
1549
+ globalEvents.on($xeTable, 'cut', this.handleGlobalCutEvent)
1550
+ globalEvents.on($xeTable, 'mousedown', this.handleGlobalMousedownEvent)
1551
+ globalEvents.on($xeTable, 'blur', this.handleGlobalBlurEvent)
1552
+ globalEvents.on($xeTable, 'mousewheel', this.handleGlobalMousewheelEvent)
1553
+ globalEvents.on($xeTable, 'keydown', this.handleGlobalKeydownEvent)
1554
+ globalEvents.on($xeTable, 'resize', this.handleGlobalResizeEvent)
1555
+ globalEvents.on($xeTable, 'contextmenu', this.handleGlobalContextmenuEvent)
1551
1556
  $xeTable.preventEvent(null, 'created')
1552
1557
  },
1553
1558
  mounted () {
@@ -1633,15 +1638,17 @@ export default {
1633
1638
  this.preventEvent(null, 'beforeDestroy')
1634
1639
  },
1635
1640
  destroyed () {
1636
- globalEvents.off(this, 'paste')
1637
- globalEvents.off(this, 'copy')
1638
- globalEvents.off(this, 'cut')
1639
- globalEvents.off(this, 'mousedown')
1640
- globalEvents.off(this, 'blur')
1641
- globalEvents.off(this, 'mousewheel')
1642
- globalEvents.off(this, 'keydown')
1643
- globalEvents.off(this, 'resize')
1644
- globalEvents.off(this, 'contextmenu')
1641
+ const $xeTable = this
1642
+
1643
+ globalEvents.off($xeTable, 'paste')
1644
+ globalEvents.off($xeTable, 'copy')
1645
+ globalEvents.off($xeTable, 'cut')
1646
+ globalEvents.off($xeTable, 'mousedown')
1647
+ globalEvents.off($xeTable, 'blur')
1648
+ globalEvents.off($xeTable, 'mousewheel')
1649
+ globalEvents.off($xeTable, 'keydown')
1650
+ globalEvents.off($xeTable, 'resize')
1651
+ globalEvents.off($xeTable, 'contextmenu')
1645
1652
  this.preventEvent(null, 'destroyed')
1646
1653
  },
1647
1654
  render (h: CreateElement) {