vxe-table 3.4.12 → 3.4.14-beta.2

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 (80) hide show
  1. package/README.en.md +3 -1
  2. package/README.md +5 -3
  3. package/README.zh-TW.md +5 -3
  4. package/lib/edit/src/mixin.js +9 -1
  5. package/lib/edit/src/mixin.min.js +1 -1
  6. package/lib/export/src/mixin.js +15 -10
  7. package/lib/export/src/mixin.min.js +1 -1
  8. package/lib/export/style/style.css +2 -0
  9. package/lib/export/style/style.min.css +1 -1
  10. package/lib/filter/src/mixin.js +5 -1
  11. package/lib/filter/src/mixin.min.js +1 -1
  12. package/lib/filter/style/style.css +2 -0
  13. package/lib/filter/style/style.min.css +1 -1
  14. package/lib/footer/src/footer.js +11 -0
  15. package/lib/footer/src/footer.min.js +1 -1
  16. package/lib/form/src/form.js +6 -1
  17. package/lib/form/src/form.min.js +1 -1
  18. package/lib/grid/src/grid.js +4 -1
  19. package/lib/grid/src/grid.min.js +1 -1
  20. package/lib/header/src/header.js +12 -0
  21. package/lib/header/src/header.min.js +1 -1
  22. package/lib/index.css +1 -1
  23. package/lib/index.umd.js +489 -337
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/input/src/date.js +54 -0
  26. package/lib/input/src/date.min.js +1 -0
  27. package/lib/input/src/input.js +12 -59
  28. package/lib/input/src/input.min.js +1 -1
  29. package/lib/input/src/number.js +23 -0
  30. package/lib/input/src/number.min.js +1 -0
  31. package/lib/modal/src/modal.js +1 -1
  32. package/lib/modal/src/modal.min.js +1 -1
  33. package/lib/pager/src/pager.js +15 -1
  34. package/lib/pager/src/pager.min.js +1 -1
  35. package/lib/pulldown/src/pulldown.js +13 -0
  36. package/lib/pulldown/src/pulldown.min.js +1 -1
  37. package/lib/style.css +1 -1
  38. package/lib/style.min.css +1 -1
  39. package/lib/table/src/body.js +24 -5
  40. package/lib/table/src/body.min.js +1 -1
  41. package/lib/table/src/cell.js +5 -6
  42. package/lib/table/src/cell.min.js +1 -1
  43. package/lib/table/src/methods.js +344 -293
  44. package/lib/table/src/methods.min.js +1 -1
  45. package/lib/table/style/style.css +2 -0
  46. package/lib/table/style/style.min.css +1 -1
  47. package/lib/toolbar/style/style.css +2 -0
  48. package/lib/toolbar/style/style.min.css +1 -1
  49. package/lib/tools/src/utils.js +1 -0
  50. package/lib/tools/src/utils.min.js +1 -1
  51. package/lib/validator/src/mixin.js +2 -0
  52. package/lib/validator/src/mixin.min.js +1 -1
  53. package/package.json +4 -4
  54. package/packages/edit/src/mixin.js +1 -1
  55. package/packages/export/src/mixin.js +16 -9
  56. package/packages/filter/src/mixin.js +4 -1
  57. package/packages/footer/src/footer.js +10 -0
  58. package/packages/form/src/form.js +6 -4
  59. package/packages/grid/src/grid.js +2 -1
  60. package/packages/header/src/header.js +11 -0
  61. package/packages/input/src/date.js +38 -0
  62. package/packages/input/src/input.js +4 -46
  63. package/packages/input/src/number.js +12 -0
  64. package/packages/modal/src/modal.js +1 -1
  65. package/packages/pager/src/pager.js +15 -1
  66. package/packages/pulldown/src/pulldown.js +12 -0
  67. package/packages/table/src/body.js +41 -7
  68. package/packages/table/src/cell.js +4 -6
  69. package/packages/table/src/methods.js +49 -12
  70. package/packages/tools/src/utils.js +1 -0
  71. package/packages/validator/src/mixin.js +11 -1
  72. package/styles/base/checked.scss +5 -0
  73. package/styles/button.scss +4 -4
  74. package/styles/modal.scss +14 -13
  75. package/styles/table.scss +4 -4
  76. package/styles/variable.scss +8 -0
  77. package/types/all.d.ts +1 -0
  78. package/types/column.d.ts +7 -1
  79. package/types/form.d.ts +2 -1
  80. package/types/table.d.ts +6 -2
@@ -432,14 +432,34 @@ var Methods = {
432
432
  },
433
433
 
434
434
  /**
435
- * 手动处理数据
435
+ * 手动处理数据,用于手动排序与筛选
436
436
  * 对于手动更改了排序、筛选...等条件后需要重新处理数据时可能会用到
437
437
  */
438
438
  updateData: function updateData() {
439
- return this.handleTableData(true).then(this.updateFooter).then(this.recalculate);
439
+ var _this2 = this;
440
+
441
+ var scrollXLoad = this.scrollXLoad,
442
+ scrollYLoad = this.scrollYLoad;
443
+ return this.handleTableData(true).then(function () {
444
+ _this2.updateFooter();
445
+
446
+ if (scrollXLoad || scrollYLoad) {
447
+ if (scrollXLoad) {
448
+ _this2.updateScrollXSpace();
449
+ }
450
+
451
+ if (scrollYLoad) {
452
+ _this2.updateScrollYSpace();
453
+ }
454
+
455
+ return _this2.refreshScroll();
456
+ }
457
+ }).then(function () {
458
+ return _this2.recalculate();
459
+ });
440
460
  },
441
461
  handleTableData: function handleTableData(force) {
442
- var _this2 = this;
462
+ var _this3 = this;
443
463
 
444
464
  var scrollYLoad = this.scrollYLoad,
445
465
  scrollYStore = this.scrollYStore,
@@ -456,7 +476,7 @@ var Methods = {
456
476
 
457
477
  var tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
458
478
  tableData.forEach(function (row, $index) {
459
- var rowid = getRowid(_this2, row);
479
+ var rowid = getRowid(_this3, row);
460
480
  var rest = fullDataRowIdData[rowid];
461
481
 
462
482
  if (rest) {
@@ -481,7 +501,7 @@ var Methods = {
481
501
  * @param {Array} datas 数据
482
502
  */
483
503
  loadTableData: function loadTableData(datas) {
484
- var _this3 = this;
504
+ var _this4 = this;
485
505
 
486
506
  var keepSource = this.keepSource,
487
507
  treeConfig = this.treeConfig,
@@ -584,31 +604,31 @@ var Methods = {
584
604
  this.handleTableData(true);
585
605
  this.updateFooter();
586
606
  return this.$nextTick().then(function () {
587
- _this3.updateHeight();
607
+ _this4.updateHeight();
588
608
 
589
- _this3.updateStyle();
609
+ _this4.updateStyle();
590
610
  }).then(function () {
591
- _this3.computeScrollLoad();
611
+ _this4.computeScrollLoad();
592
612
  }).then(function () {
593
613
  // 是否启用了虚拟滚动
594
614
  if (sYLoad) {
595
615
  scrollYStore.endIndex = scrollYStore.visibleSize;
596
616
  }
597
617
 
598
- _this3.handleReserveStatus();
618
+ _this4.handleReserveStatus();
599
619
 
600
- _this3.checkSelectionStatus();
620
+ _this4.checkSelectionStatus();
601
621
 
602
622
  return new Promise(function (resolve) {
603
- _this3.$nextTick().then(function () {
604
- return _this3.recalculate();
623
+ _this4.$nextTick().then(function () {
624
+ return _this4.recalculate();
605
625
  }).then(function () {
606
626
  // 是否变更虚拟滚动
607
627
  if (oldScrollYLoad === sYLoad) {
608
- (0, _util.restoreScrollLocation)(_this3, lastScrollLeft, lastScrollTop).then(resolve);
628
+ (0, _util.restoreScrollLocation)(_this4, lastScrollLeft, lastScrollTop).then(resolve);
609
629
  } else {
610
630
  setTimeout(function () {
611
- return (0, _util.restoreScrollLocation)(_this3, lastScrollLeft, lastScrollTop).then(resolve);
631
+ return (0, _util.restoreScrollLocation)(_this4, lastScrollLeft, lastScrollTop).then(resolve);
612
632
  });
613
633
  }
614
634
  });
@@ -621,23 +641,23 @@ var Methods = {
621
641
  * @param {Array} datas 数据
622
642
  */
623
643
  loadData: function loadData(datas) {
624
- var _this4 = this;
644
+ var _this5 = this;
625
645
 
626
646
  var inited = this.inited,
627
647
  initStatus = this.initStatus;
628
648
  return this.loadTableData(datas).then(function () {
629
- _this4.inited = true;
630
- _this4.initStatus = true;
649
+ _this5.inited = true;
650
+ _this5.initStatus = true;
631
651
 
632
652
  if (!initStatus) {
633
- _this4.handleLoadDefaults();
653
+ _this5.handleLoadDefaults();
634
654
  }
635
655
 
636
656
  if (!inited) {
637
- _this4.handleInitDefaults();
657
+ _this5.handleInitDefaults();
638
658
  }
639
659
 
640
- return _this4.recalculate();
660
+ return _this5.recalculate();
641
661
  });
642
662
  },
643
663
 
@@ -646,21 +666,21 @@ var Methods = {
646
666
  * @param {Array} datas 数据
647
667
  */
648
668
  reloadData: function reloadData(datas) {
649
- var _this5 = this;
669
+ var _this6 = this;
650
670
 
651
671
  var inited = this.inited;
652
672
  return this.clearAll().then(function () {
653
- _this5.inited = true;
654
- _this5.initStatus = true;
655
- return _this5.loadTableData(datas);
673
+ _this6.inited = true;
674
+ _this6.initStatus = true;
675
+ return _this6.loadTableData(datas);
656
676
  }).then(function () {
657
- _this5.handleLoadDefaults();
677
+ _this6.handleLoadDefaults();
658
678
 
659
679
  if (!inited) {
660
- _this5.handleInitDefaults();
680
+ _this6.handleInitDefaults();
661
681
  }
662
682
 
663
- return _this5.recalculate();
683
+ return _this6.recalculate();
664
684
  });
665
685
  },
666
686
 
@@ -710,10 +730,10 @@ var Methods = {
710
730
  * @param {ColumnInfo} columns 列配置
711
731
  */
712
732
  loadColumn: function loadColumn(columns) {
713
- var _this6 = this;
733
+ var _this7 = this;
714
734
 
715
735
  var collectColumn = _xeUtils.default.mapTree(columns, function (column) {
716
- return _cell.default.createColumn(_this6, column);
736
+ return _cell.default.createColumn(_this7, column);
717
737
  }, {
718
738
  children: 'children'
719
739
  });
@@ -727,14 +747,14 @@ var Methods = {
727
747
  * @param {ColumnInfo} columns 列配置
728
748
  */
729
749
  reloadColumn: function reloadColumn(columns) {
730
- var _this7 = this;
750
+ var _this8 = this;
731
751
 
732
752
  return this.clearAll().then(function () {
733
- return _this7.loadColumn(columns);
753
+ return _this8.loadColumn(columns);
734
754
  });
735
755
  },
736
756
  handleColumn: function handleColumn(collectColumn) {
737
- var _this8 = this;
757
+ var _this9 = this;
738
758
 
739
759
  this.collectColumn = collectColumn;
740
760
  var tableFullColumn = getColumnList(collectColumn);
@@ -742,8 +762,8 @@ var Methods = {
742
762
  this.cacheColumnMap();
743
763
  this.restoreCustomStorage();
744
764
  this.parseColumns().then(function () {
745
- if (_this8.scrollXLoad) {
746
- _this8.loadScrollXData(true);
765
+ if (_this9.scrollXLoad) {
766
+ _this9.loadScrollXData(true);
747
767
  }
748
768
  });
749
769
  this.clearMergeCells();
@@ -757,14 +777,14 @@ var Methods = {
757
777
  }
758
778
 
759
779
  return this.$nextTick().then(function () {
760
- if (_this8.$toolbar) {
761
- _this8.$toolbar.syncUpdate({
780
+ if (_this9.$toolbar) {
781
+ _this9.$toolbar.syncUpdate({
762
782
  collectColumn: collectColumn,
763
- $table: _this8
783
+ $table: _this9
764
784
  });
765
785
  }
766
786
 
767
- return _this8.recalculate();
787
+ return _this9.recalculate();
768
788
  });
769
789
  },
770
790
 
@@ -773,7 +793,7 @@ var Methods = {
773
793
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
774
794
  */
775
795
  cacheRowMap: function cacheRowMap(source) {
776
- var _this9 = this;
796
+ var _this10 = this;
777
797
 
778
798
  var treeConfig = this.treeConfig,
779
799
  treeOpts = this.treeOpts,
@@ -787,7 +807,7 @@ var Methods = {
787
807
  var isLazy = treeConfig && treeOpts.lazy;
788
808
 
789
809
  var handleCache = function handleCache(row, index, items, path, parent, nodes) {
790
- var rowid = getRowid(_this9, row);
810
+ var rowid = getRowid(_this10, row);
791
811
  var seq = treeConfig && path ? (0, _util.toTreePathSeq)(path) : index + 1;
792
812
  var level = nodes ? nodes.length - 1 : 0;
793
813
 
@@ -837,7 +857,7 @@ var Methods = {
837
857
  }
838
858
  },
839
859
  loadTreeChildren: function loadTreeChildren(row, childRecords) {
840
- var _this10 = this;
860
+ var _this11 = this;
841
861
 
842
862
  var keepSource = this.keepSource,
843
863
  tableSourceData = this.tableSourceData,
@@ -853,10 +873,10 @@ var Methods = {
853
873
  var parentLevel = rest ? rest.level : 0;
854
874
  return this.createData(childRecords).then(function (rows) {
855
875
  if (keepSource) {
856
- var rowid = getRowid(_this10, row);
876
+ var rowid = getRowid(_this11, row);
857
877
 
858
878
  var matchObj = _xeUtils.default.findTree(tableSourceData, function (item) {
859
- return rowid === getRowid(_this10, item);
879
+ return rowid === getRowid(_this11, item);
860
880
  }, treeOpts);
861
881
 
862
882
  if (matchObj) {
@@ -865,7 +885,7 @@ var Methods = {
865
885
  }
866
886
 
867
887
  _xeUtils.default.eachTree(rows, function (childRow, index, items, path, parent, nodes) {
868
- var rowid = getRowid(_this10, childRow);
888
+ var rowid = getRowid(_this11, childRow);
869
889
  var rest = {
870
890
  row: childRow,
871
891
  rowid: rowid,
@@ -889,7 +909,7 @@ var Methods = {
889
909
  row[mapChildren] = rows;
890
910
  }
891
911
 
892
- _this10.updateAfterDataIndex();
912
+ _this11.updateAfterDataIndex();
893
913
 
894
914
  return rows;
895
915
  });
@@ -900,7 +920,7 @@ var Methods = {
900
920
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
901
921
  */
902
922
  cacheColumnMap: function cacheColumnMap() {
903
- var _this11 = this;
923
+ var _this12 = this;
904
924
 
905
925
  var tableFullColumn = this.tableFullColumn,
906
926
  collectColumn = this.collectColumn,
@@ -987,16 +1007,16 @@ var Methods = {
987
1007
  }
988
1008
 
989
1009
  if (process.env.NODE_ENV === 'development') {
990
- if (_this11.showOverflow && column.showOverflow === false) {
991
- _tools.UtilTools.warn('vxe.error.errConflicts', ["table.show-overflow=".concat(_this11.showOverflow), "column.show-overflow=".concat(column.showOverflow)]);
1010
+ if (_this12.showOverflow && column.showOverflow === false) {
1011
+ _tools.UtilTools.warn('vxe.error.errConflicts', ["table.show-overflow=".concat(_this12.showOverflow), "column.show-overflow=".concat(column.showOverflow)]);
992
1012
  }
993
1013
 
994
- if (_this11.showHeaderOverflow && column.showHeaderOverflow === false) {
995
- _tools.UtilTools.warn('vxe.error.errConflicts', ["table.show-header-overflow=".concat(_this11.showHeaderOverflow), "column.show-header-overflow=".concat(column.showHeaderOverflow)]);
1014
+ if (_this12.showHeaderOverflow && column.showHeaderOverflow === false) {
1015
+ _tools.UtilTools.warn('vxe.error.errConflicts', ["table.show-header-overflow=".concat(_this12.showHeaderOverflow), "column.show-header-overflow=".concat(column.showHeaderOverflow)]);
996
1016
  }
997
1017
 
998
- if (_this11.showFooterOverflow && column.showFooterOverflow === false) {
999
- _tools.UtilTools.warn('vxe.error.errConflicts', ["table.show-footer-overflow=".concat(_this11.showFooterOverflow), "column.show-footer-overflow=".concat(column.showFooterOverflow)]);
1018
+ if (_this12.showFooterOverflow && column.showFooterOverflow === false) {
1019
+ _tools.UtilTools.warn('vxe.error.errConflicts', ["table.show-footer-overflow=".concat(_this12.showFooterOverflow), "column.show-footer-overflow=".concat(column.showFooterOverflow)]);
1000
1020
  }
1001
1021
  }
1002
1022
 
@@ -1248,13 +1268,13 @@ var Methods = {
1248
1268
  * @param {Array} records 新数据
1249
1269
  */
1250
1270
  createData: function createData(records) {
1251
- var _this12 = this;
1271
+ var _this13 = this;
1252
1272
 
1253
1273
  var treeConfig = this.treeConfig,
1254
1274
  treeOpts = this.treeOpts;
1255
1275
 
1256
1276
  var handleRrecord = function handleRrecord(record) {
1257
- return _this12.defineField(Object.assign({}, record));
1277
+ return _this13.defineField(Object.assign({}, record));
1258
1278
  };
1259
1279
 
1260
1280
  var rows = treeConfig ? _xeUtils.default.mapTree(records, handleRrecord, treeOpts) : records.map(handleRrecord);
@@ -1269,7 +1289,7 @@ var Methods = {
1269
1289
  * @param {Array/Object} records 新数据
1270
1290
  */
1271
1291
  createRow: function createRow(records) {
1272
- var _this13 = this;
1292
+ var _this14 = this;
1273
1293
 
1274
1294
  var isArr = _xeUtils.default.isArray(records);
1275
1295
 
@@ -1278,7 +1298,7 @@ var Methods = {
1278
1298
  }
1279
1299
 
1280
1300
  return this.$nextTick().then(function () {
1281
- return _this13.createData(records).then(function (rows) {
1301
+ return _this14.createData(records).then(function (rows) {
1282
1302
  return isArr ? rows : rows[0];
1283
1303
  });
1284
1304
  });
@@ -1292,7 +1312,7 @@ var Methods = {
1292
1312
  * 如果还额外传了 field 则还原指定的单元格数据
1293
1313
  */
1294
1314
  revertData: function revertData(rows, field) {
1295
- var _this14 = this;
1315
+ var _this15 = this;
1296
1316
 
1297
1317
  var keepSource = this.keepSource,
1298
1318
  tableSourceData = this.tableSourceData,
@@ -1318,8 +1338,8 @@ var Methods = {
1318
1338
 
1319
1339
  if (targetRows.length) {
1320
1340
  targetRows.forEach(function (row) {
1321
- if (!_this14.isInsertByRow(row)) {
1322
- var rowIndex = _this14.getRowIndex(row);
1341
+ if (!_this15.isInsertByRow(row)) {
1342
+ var rowIndex = _this15.getRowIndex(row);
1323
1343
 
1324
1344
  if (treeConfig && rowIndex === -1) {
1325
1345
  throw new Error(_tools.UtilTools.getLog('vxe.error.noTree', ['revertData']));
@@ -1403,7 +1423,7 @@ var Methods = {
1403
1423
  * @param {String} field 字段名
1404
1424
  */
1405
1425
  isUpdateByRow: function isUpdateByRow(row, field) {
1406
- var _this15 = this;
1426
+ var _this16 = this;
1407
1427
 
1408
1428
  var visibleColumn = this.visibleColumn,
1409
1429
  keepSource = this.keepSource,
@@ -1424,7 +1444,7 @@ var Methods = {
1424
1444
  var children = treeOpts.children;
1425
1445
 
1426
1446
  var matchObj = _xeUtils.default.findTree(tableSourceData, function (item) {
1427
- return rowid === getRowid(_this15, item);
1447
+ return rowid === getRowid(_this16, item);
1428
1448
  }, treeOpts);
1429
1449
 
1430
1450
  row = Object.assign({}, row, _defineProperty({}, children, null));
@@ -1589,7 +1609,7 @@ var Methods = {
1589
1609
  * 如果存在筛选条件,继续处理
1590
1610
  */
1591
1611
  updateAfterFullData: function updateAfterFullData() {
1592
- var _this16 = this;
1612
+ var _this17 = this;
1593
1613
 
1594
1614
  var tableFullColumn = this.tableFullColumn,
1595
1615
  tableFullData = this.tableFullData,
@@ -1609,7 +1629,8 @@ var Methods = {
1609
1629
  var filterColumns = [];
1610
1630
  var orderColumns = [];
1611
1631
  tableFullColumn.forEach(function (column) {
1612
- var sortable = column.sortable,
1632
+ var property = column.property,
1633
+ sortable = column.sortable,
1613
1634
  order = column.order,
1614
1635
  filters = column.filters;
1615
1636
 
@@ -1635,7 +1656,8 @@ var Methods = {
1635
1656
  if (!allRemoteSort && sortable && order) {
1636
1657
  orderColumns.push({
1637
1658
  column: column,
1638
- property: column.property,
1659
+ field: column.property,
1660
+ property: property,
1639
1661
  order: order
1640
1662
  });
1641
1663
  }
@@ -1665,7 +1687,7 @@ var Methods = {
1665
1687
  cellValue: cellValue,
1666
1688
  row: row,
1667
1689
  column: column,
1668
- $table: _this16
1690
+ $table: _this17
1669
1691
  });
1670
1692
  });
1671
1693
  } else if (compFilterMethod) {
@@ -1676,7 +1698,7 @@ var Methods = {
1676
1698
  cellValue: cellValue,
1677
1699
  row: row,
1678
1700
  column: column,
1679
- $table: _this16
1701
+ $table: _this17
1680
1702
  });
1681
1703
  });
1682
1704
  } else if (allFilterMethod) {
@@ -1695,7 +1717,7 @@ var Methods = {
1695
1717
  cellValue: cellValue,
1696
1718
  row: row,
1697
1719
  column: column,
1698
- $table: _this16
1720
+ $table: _this17
1699
1721
  });
1700
1722
  });
1701
1723
  }
@@ -1748,7 +1770,7 @@ var Methods = {
1748
1770
  tableTree = _xeUtils.default.orderBy(tableTree, orderColumns.map(function (_ref2) {
1749
1771
  var column = _ref2.column,
1750
1772
  order = _ref2.order;
1751
- return [getOrderField(_this16, column), order];
1773
+ return [getOrderField(_this17, column), order];
1752
1774
  }));
1753
1775
  }
1754
1776
 
@@ -1771,7 +1793,7 @@ var Methods = {
1771
1793
  tableData = _xeUtils.default.orderBy(tableData, orderColumns.map(function (_ref3) {
1772
1794
  var column = _ref3.column,
1773
1795
  order = _ref3.order;
1774
- return [getOrderField(_this16, column), order];
1796
+ return [getOrderField(_this17, column), order];
1775
1797
  }));
1776
1798
  } else {
1777
1799
  // 兼容 v2,在 v4 中废弃, sortBy 不能为数组
@@ -1786,7 +1808,7 @@ var Methods = {
1786
1808
  tableData = _xeUtils.default.orderBy(tableData, sortByConfs || [firstOrderColumn].map(function (_ref4) {
1787
1809
  var column = _ref4.column,
1788
1810
  order = _ref4.order;
1789
- return [getOrderField(_this16, column), order];
1811
+ return [getOrderField(_this17, column), order];
1790
1812
  }));
1791
1813
  }
1792
1814
  }
@@ -1805,7 +1827,7 @@ var Methods = {
1805
1827
  * 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
1806
1828
  */
1807
1829
  updateAfterDataIndex: function updateAfterDataIndex() {
1808
- var _this17 = this;
1830
+ var _this18 = this;
1809
1831
 
1810
1832
  var treeConfig = this.treeConfig,
1811
1833
  afterFullData = this.afterFullData,
@@ -1816,7 +1838,7 @@ var Methods = {
1816
1838
 
1817
1839
  if (treeConfig) {
1818
1840
  _xeUtils.default.eachTree(afterTreeFullData, function (row, index, items, path) {
1819
- var rowid = getRowid(_this17, row);
1841
+ var rowid = getRowid(_this18, row);
1820
1842
  var allrest = fullAllDataRowIdData[rowid];
1821
1843
  var seq = path.map(function (num, i) {
1822
1844
  return i % 2 === 0 ? Number(num) + 1 : '.';
@@ -1845,7 +1867,7 @@ var Methods = {
1845
1867
  });
1846
1868
  } else {
1847
1869
  afterFullData.forEach(function (row, index) {
1848
- var rowid = getRowid(_this17, row);
1870
+ var rowid = getRowid(_this18, row);
1849
1871
  var allrest = fullAllDataRowIdData[rowid];
1850
1872
  var seq = index + 1;
1851
1873
 
@@ -1936,7 +1958,7 @@ var Methods = {
1936
1958
  * 默认执行一次,除非被重置
1937
1959
  */
1938
1960
  handleLoadDefaults: function handleLoadDefaults() {
1939
- var _this18 = this;
1961
+ var _this19 = this;
1940
1962
 
1941
1963
  if (this.checkboxConfig) {
1942
1964
  this.handleDefaultSelectionChecked();
@@ -1963,7 +1985,7 @@ var Methods = {
1963
1985
  }
1964
1986
 
1965
1987
  this.$nextTick(function () {
1966
- return setTimeout(_this18.recalculate);
1988
+ return setTimeout(_this19.recalculate);
1967
1989
  });
1968
1990
  },
1969
1991
 
@@ -2220,12 +2242,12 @@ var Methods = {
2220
2242
  * 刷新列配置
2221
2243
  */
2222
2244
  refreshColumn: function refreshColumn() {
2223
- var _this19 = this;
2245
+ var _this20 = this;
2224
2246
 
2225
2247
  return this.parseColumns().then(function () {
2226
- return _this19.refreshScroll();
2248
+ return _this20.refreshScroll();
2227
2249
  }).then(function () {
2228
- return _this19.recalculate();
2250
+ return _this20.recalculate();
2229
2251
  });
2230
2252
  },
2231
2253
 
@@ -2234,7 +2256,7 @@ var Methods = {
2234
2256
  * 将固定的列左边、右边分别靠边
2235
2257
  */
2236
2258
  parseColumns: function parseColumns() {
2237
- var _this20 = this;
2259
+ var _this21 = this;
2238
2260
 
2239
2261
  var leftList = [];
2240
2262
  var centerList = [];
@@ -2361,11 +2383,11 @@ var Methods = {
2361
2383
  this.visibleColumn = visibleColumn;
2362
2384
  this.handleTableColumn();
2363
2385
  return this.updateFooter().then(function () {
2364
- return _this20.recalculate();
2386
+ return _this21.recalculate();
2365
2387
  }).then(function () {
2366
- _this20.updateCellAreas();
2388
+ _this21.updateCellAreas();
2367
2389
 
2368
- return _this20.recalculate();
2390
+ return _this21.recalculate();
2369
2391
  });
2370
2392
  },
2371
2393
 
@@ -2449,7 +2471,7 @@ var Methods = {
2449
2471
  * 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
2450
2472
  */
2451
2473
  recalculate: function recalculate(refull) {
2452
- var _this21 = this;
2474
+ var _this22 = this;
2453
2475
 
2454
2476
  var $refs = this.$refs;
2455
2477
  var tableBody = $refs.tableBody,
@@ -2465,9 +2487,9 @@ var Methods = {
2465
2487
  if (refull === true) {
2466
2488
  // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
2467
2489
  return this.computeScrollLoad().then(function () {
2468
- _this21.autoCellWidth(headerElem, bodyElem, footerElem);
2490
+ _this22.autoCellWidth(headerElem, bodyElem, footerElem);
2469
2491
 
2470
- return _this21.computeScrollLoad();
2492
+ return _this22.computeScrollLoad();
2471
2493
  });
2472
2494
  }
2473
2495
  }
@@ -2615,7 +2637,7 @@ var Methods = {
2615
2637
  this.customMaxHeight = calcHeight(this, 'maxHeight');
2616
2638
  },
2617
2639
  updateStyle: function updateStyle() {
2618
- var _this22 = this;
2640
+ var _this23 = this;
2619
2641
 
2620
2642
  var $refs = this.$refs,
2621
2643
  isGroup = this.isGroup,
@@ -2719,7 +2741,7 @@ var Methods = {
2719
2741
 
2720
2742
  if (isGroup && listElem) {
2721
2743
  _xeUtils.default.arrayEach(listElem.querySelectorAll('.col--group'), function (thElem) {
2722
- var colNode = _this22.getColumnNode(thElem);
2744
+ var colNode = _this23.getColumnNode(thElem);
2723
2745
 
2724
2746
  if (colNode) {
2725
2747
  var column = colNode.item;
@@ -2900,10 +2922,10 @@ var Methods = {
2900
2922
 
2901
2923
  if (cellElem) {
2902
2924
  if (colspan > 1) {
2903
- var columnIndex = _this22.getColumnIndex(column);
2925
+ var columnIndex = _this23.getColumnIndex(column);
2904
2926
 
2905
2927
  for (var _index = 1; _index < colspan; _index++) {
2906
- var nextColumn = _this22.getColumns(columnIndex + _index);
2928
+ var nextColumn = _this23.getColumns(columnIndex + _index);
2907
2929
 
2908
2930
  if (nextColumn) {
2909
2931
  colWidth += nextColumn.renderWidth;
@@ -2953,7 +2975,7 @@ var Methods = {
2953
2975
  }
2954
2976
  },
2955
2977
  preventEvent: function preventEvent(evnt, type, args, next, end) {
2956
- var _this23 = this;
2978
+ var _this24 = this;
2957
2979
 
2958
2980
  var evntList = _vXETable.default.interceptor.get(type);
2959
2981
 
@@ -2961,8 +2983,8 @@ var Methods = {
2961
2983
 
2962
2984
  if (!evntList.some(function (func) {
2963
2985
  return func(Object.assign({
2964
- $grid: _this23.$xegrid,
2965
- $table: _this23,
2986
+ $grid: _this24.$xegrid,
2987
+ $table: _this24,
2966
2988
  $event: evnt
2967
2989
  }, args)) === false;
2968
2990
  })) {
@@ -2982,7 +3004,7 @@ var Methods = {
2982
3004
  * 全局按下事件处理
2983
3005
  */
2984
3006
  handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {
2985
- var _this24 = this;
3007
+ var _this25 = this;
2986
3008
 
2987
3009
  var $el = this.$el,
2988
3010
  $refs = this.$refs,
@@ -3043,7 +3065,7 @@ var Methods = {
3043
3065
  } // 如果固定了高度且点击了行之外的空白处,则清除激活状态
3044
3066
 
3045
3067
 
3046
- if (!isClearActived && _this24.height && !_this24.overflowY) {
3068
+ if (!isClearActived && _this25.height && !_this25.overflowY) {
3047
3069
  var bodyWrapperElem = evnt.target;
3048
3070
 
3049
3071
  if (hasClass(bodyWrapperElem, 'vxe-table--body-wrapper')) {
@@ -3054,7 +3076,7 @@ var Methods = {
3054
3076
  if (isClearActived || // 如果点击了当前表格之外
3055
3077
  !getEventTargetNode(evnt, $el).flag) {
3056
3078
  setTimeout(function () {
3057
- return _this24.clearActived(evnt);
3079
+ return _this25.clearActived(evnt);
3058
3080
  });
3059
3081
  }
3060
3082
  });
@@ -3068,9 +3090,9 @@ var Methods = {
3068
3090
 
3069
3091
  if (!getEventTargetNode(evnt, document.body, 'vxe-table--ignore-areas-clear').flag) {
3070
3092
  this.preventEvent(evnt, 'event.clearAreas', {}, function () {
3071
- _this24.clearCellAreas();
3093
+ _this25.clearCellAreas();
3072
3094
 
3073
- _this24.clearCopyCellArea();
3095
+ _this25.clearCopyCellArea();
3074
3096
  });
3075
3097
  }
3076
3098
  }
@@ -3105,7 +3127,7 @@ var Methods = {
3105
3127
  * 表格键盘事件
3106
3128
  */
3107
3129
  keydownEvent: function keydownEvent(evnt) {
3108
- var _this25 = this;
3130
+ var _this26 = this;
3109
3131
 
3110
3132
  var filterStore = this.filterStore,
3111
3133
  ctxMenuStore = this.ctxMenuStore,
@@ -3120,33 +3142,33 @@ var Methods = {
3120
3142
 
3121
3143
  if (isEsc) {
3122
3144
  this.preventEvent(evnt, 'event.keydown', null, function () {
3123
- if (keyboardConfig && mouseConfig && mouseOpts.area && _this25.handleKeyboardEvent) {
3124
- _this25.handleKeyboardEvent(evnt);
3145
+ if (keyboardConfig && mouseConfig && mouseOpts.area && _this26.handleKeyboardEvent) {
3146
+ _this26.handleKeyboardEvent(evnt);
3125
3147
  } else if (actived.row || filterStore.visible || ctxMenuStore.visible) {
3126
3148
  evnt.stopPropagation(); // 如果按下了 Esc 键,关闭快捷菜单、筛选
3127
3149
 
3128
- _this25.closeFilter();
3150
+ _this26.closeFilter();
3129
3151
 
3130
- _this25.closeMenu();
3152
+ _this26.closeMenu();
3131
3153
 
3132
3154
  if (keyboardConfig && keyboardOpts.isEsc) {
3133
3155
  // 如果是激活编辑状态,则取消编辑
3134
3156
  if (actived.row) {
3135
3157
  var params = actived.args;
3136
3158
 
3137
- _this25.clearActived(evnt); // 如果配置了选中功能,则为选中状态
3159
+ _this26.clearActived(evnt); // 如果配置了选中功能,则为选中状态
3138
3160
 
3139
3161
 
3140
3162
  if (mouseConfig && mouseOpts.selected) {
3141
- _this25.$nextTick(function () {
3142
- return _this25.handleSelected(params, evnt);
3163
+ _this26.$nextTick(function () {
3164
+ return _this26.handleSelected(params, evnt);
3143
3165
  });
3144
3166
  }
3145
3167
  }
3146
3168
  }
3147
3169
  }
3148
3170
 
3149
- _this25.emitEvent('keydown', {}, evnt);
3171
+ _this26.emitEvent('keydown', {}, evnt);
3150
3172
  });
3151
3173
  }
3152
3174
  },
@@ -3155,27 +3177,27 @@ var Methods = {
3155
3177
  * 全局键盘事件
3156
3178
  */
3157
3179
  handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {
3158
- var _this26 = this;
3180
+ var _this27 = this;
3159
3181
 
3160
3182
  // 该行为只对当前激活的表格有效
3161
3183
  if (this.isActivated) {
3162
3184
  this.preventEvent(evnt, 'event.keydown', null, function () {
3163
- var filterStore = _this26.filterStore,
3164
- isCtxMenu = _this26.isCtxMenu,
3165
- ctxMenuStore = _this26.ctxMenuStore,
3166
- editStore = _this26.editStore,
3167
- editOpts = _this26.editOpts,
3168
- editConfig = _this26.editConfig,
3169
- mouseConfig = _this26.mouseConfig,
3170
- mouseOpts = _this26.mouseOpts,
3171
- keyboardConfig = _this26.keyboardConfig,
3172
- keyboardOpts = _this26.keyboardOpts,
3173
- treeConfig = _this26.treeConfig,
3174
- treeOpts = _this26.treeOpts,
3175
- highlightCurrentRow = _this26.highlightCurrentRow,
3176
- currentRow = _this26.currentRow,
3177
- bodyCtxMenu = _this26.bodyCtxMenu,
3178
- rowOpts = _this26.rowOpts;
3185
+ var filterStore = _this27.filterStore,
3186
+ isCtxMenu = _this27.isCtxMenu,
3187
+ ctxMenuStore = _this27.ctxMenuStore,
3188
+ editStore = _this27.editStore,
3189
+ editOpts = _this27.editOpts,
3190
+ editConfig = _this27.editConfig,
3191
+ mouseConfig = _this27.mouseConfig,
3192
+ mouseOpts = _this27.mouseOpts,
3193
+ keyboardConfig = _this27.keyboardConfig,
3194
+ keyboardOpts = _this27.keyboardOpts,
3195
+ treeConfig = _this27.treeConfig,
3196
+ treeOpts = _this27.treeOpts,
3197
+ highlightCurrentRow = _this27.highlightCurrentRow,
3198
+ currentRow = _this27.currentRow,
3199
+ bodyCtxMenu = _this27.bodyCtxMenu,
3200
+ rowOpts = _this27.rowOpts;
3179
3201
  var selected = editStore.selected,
3180
3202
  actived = editStore.actived;
3181
3203
  var keyCode = evnt.keyCode;
@@ -3202,7 +3224,7 @@ var Methods = {
3202
3224
 
3203
3225
  if (filterStore.visible) {
3204
3226
  if (isEsc) {
3205
- _this26.closeFilter();
3227
+ _this27.closeFilter();
3206
3228
  }
3207
3229
 
3208
3230
  return;
@@ -3213,20 +3235,20 @@ var Methods = {
3213
3235
  evnt.preventDefault();
3214
3236
 
3215
3237
  if (ctxMenuStore.showChild && hasChildrenList(ctxMenuStore.selected)) {
3216
- _this26.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selectChild', 37, false, ctxMenuStore.selected.children);
3238
+ _this27.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selectChild', 37, false, ctxMenuStore.selected.children);
3217
3239
  } else {
3218
- _this26.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selected', 39, true, _this26.ctxMenuList);
3240
+ _this27.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selected', 39, true, _this27.ctxMenuList);
3219
3241
  }
3220
- } else if (keyboardConfig && mouseConfig && mouseOpts.area && _this26.handleKeyboardEvent) {
3221
- _this26.handleKeyboardEvent(evnt);
3242
+ } else if (keyboardConfig && mouseConfig && mouseOpts.area && _this27.handleKeyboardEvent) {
3243
+ _this27.handleKeyboardEvent(evnt);
3222
3244
  } else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selected.row && selected.column && (selected.column.type === 'checkbox' || selected.column.type === 'radio')) {
3223
3245
  // 空格键支持选中复选框
3224
3246
  evnt.preventDefault();
3225
3247
 
3226
3248
  if (selected.column.type === 'checkbox') {
3227
- _this26.handleToggleCheckRowEvent(evnt, selected.args);
3249
+ _this27.handleToggleCheckRowEvent(evnt, selected.args);
3228
3250
  } else {
3229
- _this26.triggerRadioRowEvent(evnt, selected.args);
3251
+ _this27.triggerRadioRowEvent(evnt, selected.args);
3230
3252
  }
3231
3253
  } else if (isF2 && (0, _utils.isEnableConf)(editConfig)) {
3232
3254
  if (!isEditStatus) {
@@ -3235,15 +3257,15 @@ var Methods = {
3235
3257
  evnt.stopPropagation();
3236
3258
  evnt.preventDefault();
3237
3259
 
3238
- _this26.handleActived(selected.args, evnt);
3260
+ _this27.handleActived(selected.args, evnt);
3239
3261
  }
3240
3262
  }
3241
3263
  } else if (isContextMenu) {
3242
3264
  // 如果按下上下文键
3243
- _this26._keyCtx = selected.row && selected.column && bodyCtxMenu.length;
3244
- clearTimeout(_this26.keyCtxTimeout);
3245
- _this26.keyCtxTimeout = setTimeout(function () {
3246
- _this26._keyCtx = false;
3265
+ _this27._keyCtx = selected.row && selected.column && bodyCtxMenu.length;
3266
+ clearTimeout(_this27.keyCtxTimeout);
3267
+ _this27.keyCtxTimeout = setTimeout(function () {
3268
+ _this27._keyCtx = false;
3247
3269
  }, 1000);
3248
3270
  } else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow)) {
3249
3271
  // 退出选中
@@ -3252,12 +3274,12 @@ var Methods = {
3252
3274
  if (actived.row) {
3253
3275
  params = actived.args;
3254
3276
 
3255
- _this26.clearActived(evnt); // 如果配置了选中功能,则为选中状态
3277
+ _this27.clearActived(evnt); // 如果配置了选中功能,则为选中状态
3256
3278
 
3257
3279
 
3258
3280
  if (mouseConfig && mouseOpts.selected) {
3259
- _this26.$nextTick(function () {
3260
- return _this26.handleSelected(params, evnt);
3281
+ _this27.$nextTick(function () {
3282
+ return _this27.handleSelected(params, evnt);
3261
3283
  });
3262
3284
  }
3263
3285
  }
@@ -3268,15 +3290,15 @@ var Methods = {
3268
3290
 
3269
3291
  if (hasShiftKey) {
3270
3292
  if (keyboardOpts.enterToTab) {
3271
- _this26.moveTabSelected(targetArgs, hasShiftKey, evnt);
3293
+ _this27.moveTabSelected(targetArgs, hasShiftKey, evnt);
3272
3294
  } else {
3273
- _this26.moveSelected(targetArgs, isLeftArrow, true, isRightArrow, false, evnt);
3295
+ _this27.moveSelected(targetArgs, isLeftArrow, true, isRightArrow, false, evnt);
3274
3296
  }
3275
3297
  } else {
3276
3298
  if (keyboardOpts.enterToTab) {
3277
- _this26.moveTabSelected(targetArgs, hasShiftKey, evnt);
3299
+ _this27.moveTabSelected(targetArgs, hasShiftKey, evnt);
3278
3300
  } else {
3279
- _this26.moveSelected(targetArgs, isLeftArrow, false, isRightArrow, true, evnt);
3301
+ _this27.moveSelected(targetArgs, isLeftArrow, false, isRightArrow, true, evnt);
3280
3302
  }
3281
3303
  }
3282
3304
  } else if (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
@@ -3287,14 +3309,14 @@ var Methods = {
3287
3309
  evnt.preventDefault();
3288
3310
  var targetRow = childrens[0];
3289
3311
  params = {
3290
- $table: _this26,
3312
+ $table: _this27,
3291
3313
  row: targetRow
3292
3314
  };
3293
3315
 
3294
- _this26.setTreeExpand(currentRow, true).then(function () {
3295
- return _this26.scrollToRow(targetRow);
3316
+ _this27.setTreeExpand(currentRow, true).then(function () {
3317
+ return _this27.scrollToRow(targetRow);
3296
3318
  }).then(function () {
3297
- return _this26.triggerCurrentRowEvent(evnt, params);
3319
+ return _this27.triggerCurrentRowEvent(evnt, params);
3298
3320
  });
3299
3321
  }
3300
3322
  }
@@ -3303,18 +3325,18 @@ var Methods = {
3303
3325
  if (!isEditStatus) {
3304
3326
  // 如果按下了方向键
3305
3327
  if (selected.row && selected.column) {
3306
- _this26.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
3328
+ _this27.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
3307
3329
  } else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
3308
3330
  // 当前行按键上下移动
3309
- _this26.moveCurrentRow(isUpArrow, isDwArrow, evnt);
3331
+ _this27.moveCurrentRow(isUpArrow, isDwArrow, evnt);
3310
3332
  }
3311
3333
  }
3312
3334
  } else if (isTab && keyboardConfig && keyboardOpts.isTab) {
3313
3335
  // 如果按下了 Tab 键切换
3314
3336
  if (selected.row || selected.column) {
3315
- _this26.moveTabSelected(selected.args, hasShiftKey, evnt);
3337
+ _this27.moveTabSelected(selected.args, hasShiftKey, evnt);
3316
3338
  } else if (actived.row || actived.column) {
3317
- _this26.moveTabSelected(actived.args, hasShiftKey, evnt);
3339
+ _this27.moveTabSelected(actived.args, hasShiftKey, evnt);
3318
3340
  }
3319
3341
  } else if (keyboardConfig && (isDel || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
3320
3342
  if (!isEditStatus) {
@@ -3325,10 +3347,10 @@ var Methods = {
3325
3347
  if (delMethod) {
3326
3348
  delMethod({
3327
3349
  row: selected.row,
3328
- rowIndex: _this26.getRowIndex(selected.row),
3350
+ rowIndex: _this27.getRowIndex(selected.row),
3329
3351
  column: selected.column,
3330
- columnIndex: _this26.getColumnIndex(selected.column),
3331
- $table: _this26
3352
+ columnIndex: _this27.getColumnIndex(selected.column),
3353
+ $table: _this27
3332
3354
  });
3333
3355
  } else {
3334
3356
  setCellValue(selected.row, selected.column, null);
@@ -3338,21 +3360,21 @@ var Methods = {
3338
3360
  if (backMethod) {
3339
3361
  backMethod({
3340
3362
  row: selected.row,
3341
- rowIndex: _this26.getRowIndex(selected.row),
3363
+ rowIndex: _this27.getRowIndex(selected.row),
3342
3364
  column: selected.column,
3343
- columnIndex: _this26.getColumnIndex(selected.column),
3344
- $table: _this26
3365
+ columnIndex: _this27.getColumnIndex(selected.column),
3366
+ $table: _this27
3345
3367
  });
3346
3368
  } else {
3347
- _this26.handleActived(selected.args, evnt);
3369
+ _this27.handleActived(selected.args, evnt);
3348
3370
  }
3349
3371
  } else if (isDel) {
3350
3372
  // 如果按下 del 键,更新表尾数据
3351
- _this26.updateFooter();
3373
+ _this27.updateFooter();
3352
3374
  }
3353
3375
  } else if (isBack && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
3354
3376
  // 如果树形表格回退键关闭当前行返回父节点
3355
- var _XEUtils$findTree = _xeUtils.default.findTree(_this26.afterFullData, function (item) {
3377
+ var _XEUtils$findTree = _xeUtils.default.findTree(_this27.afterFullData, function (item) {
3356
3378
  return item === currentRow;
3357
3379
  }, treeOpts),
3358
3380
  parentRow = _XEUtils$findTree.parent;
@@ -3360,14 +3382,14 @@ var Methods = {
3360
3382
  if (parentRow) {
3361
3383
  evnt.preventDefault();
3362
3384
  params = {
3363
- $table: _this26,
3385
+ $table: _this27,
3364
3386
  row: parentRow
3365
3387
  };
3366
3388
 
3367
- _this26.setTreeExpand(parentRow, false).then(function () {
3368
- return _this26.scrollToRow(parentRow);
3389
+ _this27.setTreeExpand(parentRow, false).then(function () {
3390
+ return _this27.scrollToRow(parentRow);
3369
3391
  }).then(function () {
3370
- return _this26.triggerCurrentRowEvent(evnt, params);
3392
+ return _this27.triggerCurrentRowEvent(evnt, params);
3371
3393
  });
3372
3394
  }
3373
3395
  }
@@ -3380,25 +3402,27 @@ var Methods = {
3380
3402
  // 如果是按下非功能键之外允许直接编辑
3381
3403
 
3382
3404
  if (selected.column && selected.row && (0, _utils.isEnableConf)(selected.column.editRender)) {
3383
- if (!editOpts.activeMethod || editOpts.activeMethod(selected.args)) {
3405
+ if (!editOpts.activeMethod || editOpts.activeMethod(_objectSpread(_objectSpread({}, selected.args), {}, {
3406
+ $table: _this27
3407
+ }))) {
3384
3408
  if (editMethod) {
3385
3409
  editMethod({
3386
3410
  row: selected.row,
3387
- rowIndex: _this26.getRowIndex(selected.row),
3411
+ rowIndex: _this27.getRowIndex(selected.row),
3388
3412
  column: selected.column,
3389
- columnIndex: _this26.getColumnIndex(selected.column),
3390
- $table: _this26
3413
+ columnIndex: _this27.getColumnIndex(selected.column),
3414
+ $table: _this27
3391
3415
  });
3392
3416
  } else {
3393
3417
  setCellValue(selected.row, selected.column, null);
3394
3418
 
3395
- _this26.handleActived(selected.args, evnt);
3419
+ _this27.handleActived(selected.args, evnt);
3396
3420
  }
3397
3421
  }
3398
3422
  }
3399
3423
  }
3400
3424
 
3401
- _this26.emitEvent('keydown', {}, evnt);
3425
+ _this27.emitEvent('keydown', {}, evnt);
3402
3426
  });
3403
3427
  }
3404
3428
  },
@@ -3468,12 +3492,12 @@ var Methods = {
3468
3492
  this.recalculate(true);
3469
3493
  },
3470
3494
  handleTooltipLeaveMethod: function handleTooltipLeaveMethod() {
3471
- var _this27 = this;
3495
+ var _this28 = this;
3472
3496
 
3473
3497
  var tooltipOpts = this.tooltipOpts;
3474
3498
  setTimeout(function () {
3475
- if (!_this27.tooltipActive) {
3476
- _this27.closeTooltip();
3499
+ if (!_this28.tooltipActive) {
3500
+ _this28.closeTooltip();
3477
3501
  }
3478
3502
  }, tooltipOpts.leaveDelay);
3479
3503
  return false;
@@ -3484,17 +3508,17 @@ var Methods = {
3484
3508
  this.closeTooltip();
3485
3509
  },
3486
3510
  handleTargetLeaveEvent: function handleTargetLeaveEvent() {
3487
- var _this28 = this;
3511
+ var _this29 = this;
3488
3512
 
3489
3513
  var tooltipOpts = this.tooltipOpts;
3490
3514
  this.tooltipActive = false;
3491
3515
 
3492
3516
  if (tooltipOpts.enterable) {
3493
3517
  this.tooltipTimeout = setTimeout(function () {
3494
- var tooltip = _this28.$refs.tooltip;
3518
+ var tooltip = _this29.$refs.tooltip;
3495
3519
 
3496
3520
  if (tooltip && !tooltip.isHover) {
3497
- _this28.closeTooltip();
3521
+ _this29.closeTooltip();
3498
3522
  }
3499
3523
  }, tooltipOpts.leaveDelay);
3500
3524
  } else {
@@ -3727,14 +3751,14 @@ var Methods = {
3727
3751
  * @param {Boolean} value 是否选中
3728
3752
  */
3729
3753
  setCheckboxRow: function setCheckboxRow(rows, value) {
3730
- var _this29 = this;
3754
+ var _this30 = this;
3731
3755
 
3732
3756
  if (rows && !_xeUtils.default.isArray(rows)) {
3733
3757
  rows = [rows];
3734
3758
  }
3735
3759
 
3736
3760
  rows.forEach(function (row) {
3737
- return _this29.handleSelectRow({
3761
+ return _this30.handleSelectRow({
3738
3762
  row: row
3739
3763
  }, !!value);
3740
3764
  });
@@ -3758,7 +3782,7 @@ var Methods = {
3758
3782
  * value 选中true 不选false 半选-1
3759
3783
  */
3760
3784
  handleSelectRow: function handleSelectRow(_ref6, value) {
3761
- var _this30 = this;
3785
+ var _this31 = this;
3762
3786
 
3763
3787
  var row = _ref6.row;
3764
3788
  var selection = this.selection,
@@ -3791,7 +3815,7 @@ var Methods = {
3791
3815
  return half === item;
3792
3816
  });
3793
3817
 
3794
- _this30.handleCheckboxReserveRow(row, value);
3818
+ _this31.handleCheckboxReserveRow(row, value);
3795
3819
  }
3796
3820
  }, treeOpts);
3797
3821
  } // 如果存在父节点,更新父节点状态
@@ -3865,7 +3889,7 @@ var Methods = {
3865
3889
  return half === item;
3866
3890
  });
3867
3891
 
3868
- _this30.handleCheckboxReserveRow(row, value);
3892
+ _this31.handleCheckboxReserveRow(row, value);
3869
3893
  }
3870
3894
  }, treeOpts);
3871
3895
  } // 如果存在父节点,更新父节点状态
@@ -3969,7 +3993,7 @@ var Methods = {
3969
3993
  * @param {Boolean} value 是否选中
3970
3994
  */
3971
3995
  setAllCheckboxRow: function setAllCheckboxRow(value) {
3972
- var _this31 = this;
3996
+ var _this32 = this;
3973
3997
 
3974
3998
  var afterFullData = this.afterFullData,
3975
3999
  treeConfig = this.treeConfig,
@@ -4082,11 +4106,11 @@ var Methods = {
4082
4106
  if (reserve) {
4083
4107
  if (value) {
4084
4108
  selectRows.forEach(function (row) {
4085
- checkboxReserveRowMap[getRowid(_this31, row)] = row;
4109
+ checkboxReserveRowMap[getRowid(_this32, row)] = row;
4086
4110
  });
4087
4111
  } else {
4088
4112
  afterFullData.forEach(function (row) {
4089
- return _this31.handleCheckboxReserveRow(row, false);
4113
+ return _this32.handleCheckboxReserveRow(row, false);
4090
4114
  });
4091
4115
  }
4092
4116
  }
@@ -4109,17 +4133,31 @@ var Methods = {
4109
4133
  checkMethod = checkboxOpts.checkMethod;
4110
4134
 
4111
4135
  if (!checkStrictly) {
4136
+ var disableRows = [];
4137
+ var checkRows = [];
4138
+ var isAllResolve = false;
4112
4139
  var isAllSelected = false;
4113
4140
  var isIndeterminate = false;
4114
4141
 
4115
4142
  if (checkField) {
4116
- isAllSelected = afterFullData.length && afterFullData.every(checkMethod ? function (row) {
4117
- return !checkMethod({
4143
+ isAllResolve = afterFullData.every(checkMethod ? function (row) {
4144
+ if (!checkMethod({
4118
4145
  row: row
4119
- }) || _xeUtils.default.get(row, checkField);
4146
+ })) {
4147
+ disableRows.push(row);
4148
+ return true;
4149
+ }
4150
+
4151
+ if (_xeUtils.default.get(row, checkField)) {
4152
+ checkRows.push(row);
4153
+ return true;
4154
+ }
4155
+
4156
+ return false;
4120
4157
  } : function (row) {
4121
4158
  return _xeUtils.default.get(row, checkField);
4122
4159
  });
4160
+ isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
4123
4161
 
4124
4162
  if (treeConfig) {
4125
4163
  if (halfField) {
@@ -4143,13 +4181,24 @@ var Methods = {
4143
4181
  }
4144
4182
  }
4145
4183
  } else {
4146
- isAllSelected = afterFullData.length && afterFullData.every(checkMethod ? function (row) {
4147
- return !checkMethod({
4184
+ isAllResolve = afterFullData.every(checkMethod ? function (row) {
4185
+ if (!checkMethod({
4148
4186
  row: row
4149
- }) || selection.indexOf(row) > -1;
4187
+ })) {
4188
+ disableRows.push(row);
4189
+ return true;
4190
+ }
4191
+
4192
+ if (selection.indexOf(row) > -1) {
4193
+ checkRows.push(row);
4194
+ return true;
4195
+ }
4196
+
4197
+ return false;
4150
4198
  } : function (row) {
4151
4199
  return selection.indexOf(row) > -1;
4152
4200
  });
4201
+ isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
4153
4202
 
4154
4203
  if (treeConfig) {
4155
4204
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
@@ -4281,7 +4330,7 @@ var Methods = {
4281
4330
  * 获取复选框保留选中的行
4282
4331
  */
4283
4332
  getCheckboxReserveRecords: function getCheckboxReserveRecords(isFull) {
4284
- var _this32 = this;
4333
+ var _this33 = this;
4285
4334
 
4286
4335
  var fullDataRowIdData = this.fullDataRowIdData,
4287
4336
  afterFullData = this.afterFullData,
@@ -4296,11 +4345,11 @@ var Methods = {
4296
4345
 
4297
4346
  if (treeConfig) {
4298
4347
  _xeUtils.default.eachTree(afterFullData, function (row) {
4299
- afterFullIdMaps[getRowid(_this32, row)] = 1;
4348
+ afterFullIdMaps[getRowid(_this33, row)] = 1;
4300
4349
  }, treeOpts);
4301
4350
  } else {
4302
4351
  afterFullData.forEach(function (row) {
4303
- afterFullIdMaps[getRowid(_this32, row)] = 1;
4352
+ afterFullIdMaps[getRowid(_this33, row)] = 1;
4304
4353
  });
4305
4354
  }
4306
4355
 
@@ -4366,7 +4415,7 @@ var Methods = {
4366
4415
  * 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
4367
4416
  */
4368
4417
  clearCheckboxRow: function clearCheckboxRow() {
4369
- var _this33 = this;
4418
+ var _this34 = this;
4370
4419
 
4371
4420
  var tableFullData = this.tableFullData,
4372
4421
  treeConfig = this.treeConfig,
@@ -4389,7 +4438,7 @@ var Methods = {
4389
4438
 
4390
4439
  if (reserve) {
4391
4440
  tableFullData.forEach(function (row) {
4392
- return _this33.handleCheckboxReserveRow(row, false);
4441
+ return _this34.handleCheckboxReserveRow(row, false);
4393
4442
  });
4394
4443
  }
4395
4444
 
@@ -4681,13 +4730,13 @@ var Methods = {
4681
4730
  * 如果存在规则,则校验
4682
4731
  */
4683
4732
  handleChangeCell: function handleChangeCell(evnt, params) {
4684
- var _this34 = this;
4733
+ var _this35 = this;
4685
4734
 
4686
4735
  this.checkValidate('blur').catch(function (e) {
4687
4736
  return e;
4688
4737
  }).then(function () {
4689
- _this34.handleActived(params, evnt).then(function () {
4690
- return _this34.checkValidate('change');
4738
+ _this35.handleActived(params, evnt).then(function () {
4739
+ return _this35.checkValidate('change');
4691
4740
  }).catch(function (e) {
4692
4741
  return e;
4693
4742
  });
@@ -4790,7 +4839,7 @@ var Methods = {
4790
4839
  * 如果是双击模式,则激活为编辑状态
4791
4840
  */
4792
4841
  triggerCellDblclickEvent: function triggerCellDblclickEvent(evnt, params) {
4793
- var _this35 = this;
4842
+ var _this36 = this;
4794
4843
 
4795
4844
  var editStore = this.editStore,
4796
4845
  editConfig = this.editConfig,
@@ -4805,15 +4854,15 @@ var Methods = {
4805
4854
  this.checkValidate('blur').catch(function (e) {
4806
4855
  return e;
4807
4856
  }).then(function () {
4808
- _this35.handleActived(params, evnt).then(function () {
4809
- return _this35.checkValidate('change');
4857
+ _this36.handleActived(params, evnt).then(function () {
4858
+ return _this36.checkValidate('change');
4810
4859
  }).catch(function (e) {
4811
4860
  return e;
4812
4861
  });
4813
4862
  });
4814
4863
  } else if (editOpts.mode === 'cell') {
4815
4864
  this.handleActived(params, evnt).then(function () {
4816
- return _this35.checkValidate('change');
4865
+ return _this36.checkValidate('change');
4817
4866
  }).catch(function (e) {
4818
4867
  return e;
4819
4868
  });
@@ -4824,7 +4873,7 @@ var Methods = {
4824
4873
  this.emitEvent('cell-dblclick', params, evnt);
4825
4874
  },
4826
4875
  handleDefaultSort: function handleDefaultSort() {
4827
- var _this36 = this;
4876
+ var _this37 = this;
4828
4877
 
4829
4878
  var sortConfig = this.sortConfig,
4830
4879
  sortOpts = this.sortOpts;
@@ -4841,7 +4890,7 @@ var Methods = {
4841
4890
  order = item.order;
4842
4891
 
4843
4892
  if (field && order) {
4844
- var column = _this36.getColumnByField(field);
4893
+ var column = _this37.getColumnByField(field);
4845
4894
 
4846
4895
  if (column && column.sortable) {
4847
4896
  column.order = order;
@@ -4884,7 +4933,7 @@ var Methods = {
4884
4933
  }
4885
4934
  },
4886
4935
  sort: function sort(sortConfs, sortOrder) {
4887
- var _this37 = this;
4936
+ var _this38 = this;
4888
4937
 
4889
4938
  var sortOpts = this.sortOpts;
4890
4939
  var multiple = sortOpts.multiple,
@@ -4917,7 +4966,7 @@ var Methods = {
4917
4966
  var column = field;
4918
4967
 
4919
4968
  if (_xeUtils.default.isString(field)) {
4920
- column = _this37.getColumnByField(field);
4969
+ column = _this38.getColumnByField(field);
4921
4970
  }
4922
4971
 
4923
4972
  if (column && (column.sortable || column.remoteSort)) {
@@ -4926,7 +4975,7 @@ var Methods = {
4926
4975
  }
4927
4976
 
4928
4977
  if (orders.indexOf(order) === -1) {
4929
- order = getNextSortOrder(_this37, column);
4978
+ order = getNextSortOrder(_this38, column);
4930
4979
  }
4931
4980
 
4932
4981
  if (column.order !== order) {
@@ -4990,12 +5039,14 @@ var Methods = {
4990
5039
  getSortColumns: function getSortColumns() {
4991
5040
  var sortList = [];
4992
5041
  this.tableFullColumn.forEach(function (column) {
4993
- var order = column.order;
5042
+ var property = column.property,
5043
+ order = column.order;
4994
5044
 
4995
5045
  if ((column.sortable || column.remoteSort) && order) {
4996
5046
  sortList.push({
4997
5047
  column: column,
4998
- property: column.property,
5048
+ field: column.property,
5049
+ property: property,
4999
5050
  order: order
5000
5051
  });
5001
5052
  }
@@ -5077,7 +5128,7 @@ var Methods = {
5077
5128
  * @param {Row} row 行对象
5078
5129
  */
5079
5130
  reloadRowExpand: function reloadRowExpand(row) {
5080
- var _this38 = this;
5131
+ var _this39 = this;
5081
5132
 
5082
5133
  var expandOpts = this.expandOpts,
5083
5134
  expandLazyLoadeds = this.expandLazyLoadeds;
@@ -5085,7 +5136,7 @@ var Methods = {
5085
5136
 
5086
5137
  if (lazy && expandLazyLoadeds.indexOf(row) === -1) {
5087
5138
  this.clearRowExpandLoaded(row).then(function () {
5088
- return _this38.handleAsyncRowExpand(row);
5139
+ return _this39.handleAsyncRowExpand(row);
5089
5140
  });
5090
5141
  }
5091
5142
 
@@ -5164,29 +5215,29 @@ var Methods = {
5164
5215
  return this.setRowExpand(this.expandOpts.lazy ? this.tableData : this.tableFullData, expanded);
5165
5216
  },
5166
5217
  handleAsyncRowExpand: function handleAsyncRowExpand(row) {
5167
- var _this39 = this;
5218
+ var _this40 = this;
5168
5219
 
5169
5220
  var rest = this.fullAllDataRowMap.get(row);
5170
5221
  return new Promise(function (resolve) {
5171
- _this39.expandLazyLoadeds.push(row);
5222
+ _this40.expandLazyLoadeds.push(row);
5172
5223
 
5173
- _this39.expandOpts.loadMethod({
5174
- $table: _this39,
5224
+ _this40.expandOpts.loadMethod({
5225
+ $table: _this40,
5175
5226
  row: row,
5176
- rowIndex: _this39.getRowIndex(row),
5177
- $rowIndex: _this39.getVMRowIndex(row)
5227
+ rowIndex: _this40.getRowIndex(row),
5228
+ $rowIndex: _this40.getVMRowIndex(row)
5178
5229
  }).catch(function (e) {
5179
5230
  return e;
5180
5231
  }).then(function () {
5181
5232
  rest.expandLoaded = true;
5182
5233
 
5183
- _xeUtils.default.remove(_this39.expandLazyLoadeds, function (item) {
5234
+ _xeUtils.default.remove(_this40.expandLazyLoadeds, function (item) {
5184
5235
  return item === row;
5185
5236
  });
5186
5237
 
5187
- _this39.rowExpandeds.push(row);
5238
+ _this40.rowExpandeds.push(row);
5188
5239
 
5189
- resolve(_this39.$nextTick().then(_this39.recalculate));
5240
+ resolve(_this40.$nextTick().then(_this40.recalculate));
5190
5241
  });
5191
5242
  });
5192
5243
  },
@@ -5199,7 +5250,7 @@ var Methods = {
5199
5250
  * @param {Boolean} expanded 是否展开
5200
5251
  */
5201
5252
  setRowExpand: function setRowExpand(rows, expanded) {
5202
- var _this40 = this;
5253
+ var _this41 = this;
5203
5254
 
5204
5255
  var fullAllDataRowMap = this.fullAllDataRowMap,
5205
5256
  expandLazyLoadeds = this.expandLazyLoadeds,
@@ -5232,8 +5283,8 @@ var Methods = {
5232
5283
  columnIndex: columnIndex,
5233
5284
  $columnIndex: $columnIndex,
5234
5285
  row: row,
5235
- rowIndex: _this40.getRowIndex(row),
5236
- $rowIndex: _this40.getVMRowIndex(row)
5286
+ rowIndex: _this41.getRowIndex(row),
5287
+ $rowIndex: _this41.getVMRowIndex(row)
5237
5288
  });
5238
5289
  }) : rows;
5239
5290
 
@@ -5244,7 +5295,7 @@ var Methods = {
5244
5295
  var isLoad = lazy && !rest.expandLoaded && expandLazyLoadeds.indexOf(row) === -1;
5245
5296
 
5246
5297
  if (isLoad) {
5247
- lazyRests.push(_this40.handleAsyncRowExpand(row));
5298
+ lazyRests.push(_this41.handleAsyncRowExpand(row));
5248
5299
  } else {
5249
5300
  rowExpandeds.push(row);
5250
5301
  }
@@ -5258,7 +5309,7 @@ var Methods = {
5258
5309
 
5259
5310
  if (reserve) {
5260
5311
  validRows.forEach(function (row) {
5261
- return _this40.handleRowExpandReserve(row, expanded);
5312
+ return _this41.handleRowExpandReserve(row, expanded);
5262
5313
  });
5263
5314
  }
5264
5315
  }
@@ -5279,7 +5330,7 @@ var Methods = {
5279
5330
  * 手动清空展开行状态,数据会恢复成未展开的状态
5280
5331
  */
5281
5332
  clearRowExpand: function clearRowExpand() {
5282
- var _this41 = this;
5333
+ var _this42 = this;
5283
5334
 
5284
5335
  var expandOpts = this.expandOpts,
5285
5336
  rowExpandeds = this.rowExpandeds,
@@ -5290,13 +5341,13 @@ var Methods = {
5290
5341
 
5291
5342
  if (reserve) {
5292
5343
  tableFullData.forEach(function (row) {
5293
- return _this41.handleRowExpandReserve(row, false);
5344
+ return _this42.handleRowExpandReserve(row, false);
5294
5345
  });
5295
5346
  }
5296
5347
 
5297
5348
  return this.$nextTick().then(function () {
5298
5349
  if (isExists) {
5299
- _this41.recalculate();
5350
+ _this42.recalculate();
5300
5351
  }
5301
5352
  });
5302
5353
  },
@@ -5376,7 +5427,7 @@ var Methods = {
5376
5427
  * @param {Row} row 行对象
5377
5428
  */
5378
5429
  reloadTreeExpand: function reloadTreeExpand(row) {
5379
- var _this42 = this;
5430
+ var _this43 = this;
5380
5431
 
5381
5432
  var treeOpts = this.treeOpts,
5382
5433
  treeLazyLoadeds = this.treeLazyLoadeds;
@@ -5386,15 +5437,15 @@ var Methods = {
5386
5437
 
5387
5438
  if (lazy && row[hasChild] && treeLazyLoadeds.indexOf(row) === -1) {
5388
5439
  this.clearTreeExpandLoaded(row).then(function () {
5389
- return _this42.handleAsyncTreeExpandChilds(row);
5440
+ return _this43.handleAsyncTreeExpandChilds(row);
5390
5441
  }).then(function () {
5391
5442
  if (transform) {
5392
- _this42.handleVirtualTreeToList();
5443
+ _this43.handleVirtualTreeToList();
5393
5444
 
5394
- return _this42.handleTableData();
5445
+ return _this43.handleTableData();
5395
5446
  }
5396
5447
  }).then(function () {
5397
- return _this42.recalculate();
5448
+ return _this43.recalculate();
5398
5449
  });
5399
5450
  }
5400
5451
 
@@ -5472,7 +5523,7 @@ var Methods = {
5472
5523
  }
5473
5524
  },
5474
5525
  handleAsyncTreeExpandChilds: function handleAsyncTreeExpandChilds(row) {
5475
- var _this43 = this;
5526
+ var _this44 = this;
5476
5527
 
5477
5528
  var fullAllDataRowMap = this.fullAllDataRowMap,
5478
5529
  treeExpandeds = this.treeExpandeds,
@@ -5486,7 +5537,7 @@ var Methods = {
5486
5537
  return new Promise(function (resolve) {
5487
5538
  treeLazyLoadeds.push(row);
5488
5539
  loadMethod({
5489
- $table: _this43,
5540
+ $table: _this44,
5490
5541
  row: row
5491
5542
  }).catch(function () {
5492
5543
  return [];
@@ -5502,29 +5553,29 @@ var Methods = {
5502
5553
  }
5503
5554
 
5504
5555
  if (childRecords) {
5505
- _this43.loadTreeChildren(row, childRecords).then(function (childRows) {
5556
+ _this44.loadTreeChildren(row, childRecords).then(function (childRows) {
5506
5557
  if (childRows.length && treeExpandeds.indexOf(row) === -1) {
5507
5558
  treeExpandeds.push(row);
5508
5559
  } // 如果当前节点已选中,则展开后子节点也被选中
5509
5560
 
5510
5561
 
5511
- if (!checkStrictly && _this43.isCheckedByCheckboxRow(row)) {
5512
- _this43.setCheckboxRow(childRows, true);
5562
+ if (!checkStrictly && _this44.isCheckedByCheckboxRow(row)) {
5563
+ _this44.setCheckboxRow(childRows, true);
5513
5564
  }
5514
5565
 
5515
- _this43.$nextTick().then(function () {
5566
+ _this44.$nextTick().then(function () {
5516
5567
  if (transform) {
5517
- return _this43.handleTableData();
5568
+ return _this44.handleTableData();
5518
5569
  }
5519
5570
  }).then(function () {
5520
- return _this43.recalculate();
5571
+ return _this44.recalculate();
5521
5572
  }).then(function () {
5522
5573
  return resolve();
5523
5574
  });
5524
5575
  });
5525
5576
  } else {
5526
- _this43.$nextTick().then(function () {
5527
- return _this43.recalculate();
5577
+ _this44.$nextTick().then(function () {
5578
+ return _this44.recalculate();
5528
5579
  }).then(function () {
5529
5580
  return resolve();
5530
5581
  });
@@ -5562,7 +5613,7 @@ var Methods = {
5562
5613
  * @returns
5563
5614
  */
5564
5615
  handleBaseTreeExpand: function handleBaseTreeExpand(rows, expanded) {
5565
- var _this44 = this;
5616
+ var _this45 = this;
5566
5617
 
5567
5618
  var fullAllDataRowMap = this.fullAllDataRowMap,
5568
5619
  tableFullData = this.tableFullData,
@@ -5610,7 +5661,7 @@ var Methods = {
5610
5661
  var isLoad = lazy && row[hasChild] && !rest.treeLoaded && treeLazyLoadeds.indexOf(row) === -1; // 是否使用懒加载
5611
5662
 
5612
5663
  if (isLoad) {
5613
- result.push(_this44.handleAsyncTreeExpandChilds(row));
5664
+ result.push(_this45.handleAsyncTreeExpandChilds(row));
5614
5665
  } else {
5615
5666
  if (row[children] && row[children].length) {
5616
5667
  treeExpandeds.push(row);
@@ -5626,7 +5677,7 @@ var Methods = {
5626
5677
 
5627
5678
  if (reserve) {
5628
5679
  validRows.forEach(function (row) {
5629
- return _this44.handleTreeExpandReserve(row, expanded);
5680
+ return _this45.handleTreeExpandReserve(row, expanded);
5630
5681
  });
5631
5682
  }
5632
5683
 
@@ -5640,14 +5691,14 @@ var Methods = {
5640
5691
  * @returns
5641
5692
  */
5642
5693
  handleVirtualTreeExpand: function handleVirtualTreeExpand(rows, expanded) {
5643
- var _this45 = this;
5694
+ var _this46 = this;
5644
5695
 
5645
5696
  return this.handleBaseTreeExpand(rows, expanded).then(function () {
5646
- _this45.handleVirtualTreeToList();
5697
+ _this46.handleVirtualTreeToList();
5647
5698
 
5648
- return _this45.handleTableData();
5699
+ return _this46.handleTableData();
5649
5700
  }).then(function () {
5650
- return _this45.recalculate();
5701
+ return _this46.recalculate();
5651
5702
  });
5652
5703
  },
5653
5704
 
@@ -5692,7 +5743,7 @@ var Methods = {
5692
5743
  * 手动清空树形节点的展开状态,数据会恢复成未展开的状态
5693
5744
  */
5694
5745
  clearTreeExpand: function clearTreeExpand() {
5695
- var _this46 = this;
5746
+ var _this47 = this;
5696
5747
 
5697
5748
  var treeOpts = this.treeOpts,
5698
5749
  treeExpandeds = this.treeExpandeds,
@@ -5704,19 +5755,19 @@ var Methods = {
5704
5755
 
5705
5756
  if (reserve) {
5706
5757
  _xeUtils.default.eachTree(tableFullData, function (row) {
5707
- return _this46.handleTreeExpandReserve(row, false);
5758
+ return _this47.handleTreeExpandReserve(row, false);
5708
5759
  }, treeOpts);
5709
5760
  }
5710
5761
 
5711
5762
  return this.handleTableData().then(function () {
5712
5763
  if (transform) {
5713
- _this46.handleVirtualTreeToList();
5764
+ _this47.handleVirtualTreeToList();
5714
5765
 
5715
- return _this46.handleTableData();
5766
+ return _this47.handleTableData();
5716
5767
  }
5717
5768
  }).then(function () {
5718
5769
  if (isExists) {
5719
- _this46.recalculate();
5770
+ _this47.recalculate();
5720
5771
  }
5721
5772
  });
5722
5773
  },
@@ -5846,18 +5897,18 @@ var Methods = {
5846
5897
  },
5847
5898
  // 计算可视渲染相关数据
5848
5899
  computeScrollLoad: function computeScrollLoad() {
5849
- var _this47 = this;
5900
+ var _this48 = this;
5850
5901
 
5851
5902
  return this.$nextTick().then(function () {
5852
- var sYOpts = _this47.sYOpts,
5853
- sXOpts = _this47.sXOpts,
5854
- scrollXLoad = _this47.scrollXLoad,
5855
- scrollYLoad = _this47.scrollYLoad,
5856
- scrollXStore = _this47.scrollXStore,
5857
- scrollYStore = _this47.scrollYStore; // 计算 X 逻辑
5903
+ var sYOpts = _this48.sYOpts,
5904
+ sXOpts = _this48.sXOpts,
5905
+ scrollXLoad = _this48.scrollXLoad,
5906
+ scrollYLoad = _this48.scrollYLoad,
5907
+ scrollXStore = _this48.scrollXStore,
5908
+ scrollYStore = _this48.scrollYStore; // 计算 X 逻辑
5858
5909
 
5859
5910
  if (scrollXLoad) {
5860
- var _computeVirtualX3 = computeVirtualX(_this47),
5911
+ var _computeVirtualX3 = computeVirtualX(_this48),
5861
5912
  visibleXSize = _computeVirtualX3.visibleSize;
5862
5913
 
5863
5914
  var offsetXSize = sXOpts.oSize ? _xeUtils.default.toNumber(sXOpts.oSize) : _dom.browse.msie ? 10 : _dom.browse.edge ? 5 : 0;
@@ -5865,13 +5916,13 @@ var Methods = {
5865
5916
  scrollXStore.visibleSize = visibleXSize;
5866
5917
  scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
5867
5918
 
5868
- _this47.updateScrollXData();
5919
+ _this48.updateScrollXData();
5869
5920
  } else {
5870
- _this47.updateScrollXSpace();
5921
+ _this48.updateScrollXSpace();
5871
5922
  } // 计算 Y 逻辑
5872
5923
 
5873
5924
 
5874
- var _computeVirtualY = computeVirtualY(_this47),
5925
+ var _computeVirtualY = computeVirtualY(_this48),
5875
5926
  rowHeight = _computeVirtualY.rowHeight,
5876
5927
  visibleYSize = _computeVirtualY.visibleSize;
5877
5928
 
@@ -5883,14 +5934,14 @@ var Methods = {
5883
5934
  scrollYStore.visibleSize = visibleYSize;
5884
5935
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
5885
5936
 
5886
- _this47.updateScrollYData();
5937
+ _this48.updateScrollYData();
5887
5938
  } else {
5888
- _this47.updateScrollYSpace();
5939
+ _this48.updateScrollYSpace();
5889
5940
  }
5890
5941
 
5891
- _this47.rowHeight = rowHeight;
5942
+ _this48.rowHeight = rowHeight;
5892
5943
 
5893
- _this47.$nextTick(_this47.updateStyle);
5944
+ _this48.$nextTick(_this48.updateStyle);
5894
5945
  });
5895
5946
  },
5896
5947
  handleTableColumn: function handleTableColumn() {
@@ -6004,7 +6055,7 @@ var Methods = {
6004
6055
  * @param {Number} scrollTop 上距离
6005
6056
  */
6006
6057
  scrollTo: function scrollTo(scrollLeft, scrollTop) {
6007
- var _this48 = this;
6058
+ var _this49 = this;
6008
6059
 
6009
6060
  var $refs = this.$refs;
6010
6061
  var tableBody = $refs.tableBody,
@@ -6025,7 +6076,7 @@ var Methods = {
6025
6076
  if (this.scrollXLoad || this.scrollYLoad) {
6026
6077
  return new Promise(function (resolve) {
6027
6078
  return setTimeout(function () {
6028
- return resolve(_this48.$nextTick());
6079
+ return resolve(_this49.$nextTick());
6029
6080
  }, 50);
6030
6081
  });
6031
6082
  }
@@ -6076,7 +6127,7 @@ var Methods = {
6076
6127
  * @param {Row} row 行对象
6077
6128
  */
6078
6129
  scrollToTreeRow: function scrollToTreeRow(row) {
6079
- var _this49 = this;
6130
+ var _this50 = this;
6080
6131
 
6081
6132
  var tableFullData = this.tableFullData,
6082
6133
  treeConfig = this.treeConfig,
@@ -6091,15 +6142,15 @@ var Methods = {
6091
6142
  if (matchObj) {
6092
6143
  var nodes = matchObj.nodes;
6093
6144
  nodes.forEach(function (row, index) {
6094
- if (index < nodes.length - 1 && !_this49.isTreeExpandByRow(row)) {
6095
- rests.push(_this49.setTreeExpand(row, true));
6145
+ if (index < nodes.length - 1 && !_this50.isTreeExpandByRow(row)) {
6146
+ rests.push(_this50.setTreeExpand(row, true));
6096
6147
  }
6097
6148
  });
6098
6149
  }
6099
6150
  }
6100
6151
 
6101
6152
  return Promise.all(rests).then(function () {
6102
- return _tools.DomTools.rowToVisible(_this49, row);
6153
+ return _tools.DomTools.rowToVisible(_this50, row);
6103
6154
  });
6104
6155
  },
6105
6156
 
@@ -6163,29 +6214,29 @@ var Methods = {
6163
6214
  * 如果单元格配置了校验规则,则会进行校验
6164
6215
  */
6165
6216
  updateStatus: function updateStatus(scope, cellValue) {
6166
- var _this50 = this;
6217
+ var _this51 = this;
6167
6218
 
6168
6219
  var customVal = !_xeUtils.default.isUndefined(cellValue);
6169
6220
  return this.$nextTick().then(function () {
6170
- var $refs = _this50.$refs,
6171
- editRules = _this50.editRules,
6172
- validStore = _this50.validStore;
6221
+ var $refs = _this51.$refs,
6222
+ editRules = _this51.editRules,
6223
+ validStore = _this51.validStore;
6173
6224
 
6174
6225
  if (scope && $refs.tableBody && editRules) {
6175
6226
  var row = scope.row,
6176
6227
  column = scope.column;
6177
6228
  var type = 'change';
6178
6229
 
6179
- if (_this50.hasCellRules(type, row, column)) {
6180
- var cell = _this50.getCell(row, column);
6230
+ if (_this51.hasCellRules(type, row, column)) {
6231
+ var cell = _this51.getCell(row, column);
6181
6232
 
6182
6233
  if (cell) {
6183
- return _this50.validCellRules(type, row, column, cellValue).then(function () {
6234
+ return _this51.validCellRules(type, row, column, cellValue).then(function () {
6184
6235
  if (customVal && validStore.visible) {
6185
6236
  setCellValue(row, column, cellValue);
6186
6237
  }
6187
6238
 
6188
- _this50.clearValidate();
6239
+ _this51.clearValidate();
6189
6240
  }).catch(function (_ref8) {
6190
6241
  var rule = _ref8.rule;
6191
6242
 
@@ -6193,7 +6244,7 @@ var Methods = {
6193
6244
  setCellValue(row, column, cellValue);
6194
6245
  }
6195
6246
 
6196
- _this50.showValidTooltip({
6247
+ _this51.showValidTooltip({
6197
6248
  rule: rule,
6198
6249
  row: row,
6199
6250
  column: column,
@@ -6214,7 +6265,7 @@ var Methods = {
6214
6265
  * @param {TableMergeConfig[]} merges { row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }
6215
6266
  */
6216
6267
  setMergeCells: function setMergeCells(merges) {
6217
- var _this51 = this;
6268
+ var _this52 = this;
6218
6269
 
6219
6270
  if (this.spanMethod) {
6220
6271
  _tools.UtilTools.error('vxe.error.errConflicts', ['merge-cells', 'span-method']);
@@ -6222,7 +6273,7 @@ var Methods = {
6222
6273
 
6223
6274
  setMerges(this, merges, this.mergeList, this.afterFullData);
6224
6275
  return this.$nextTick().then(function () {
6225
- return _this51.updateCellAreas();
6276
+ return _this52.updateCellAreas();
6226
6277
  });
6227
6278
  },
6228
6279
 
@@ -6231,7 +6282,7 @@ var Methods = {
6231
6282
  * @param {TableMergeConfig[]} merges 多个或数组 [{row:Row|number, col:ColumnInfo|number}]
6232
6283
  */
6233
6284
  removeMergeCells: function removeMergeCells(merges) {
6234
- var _this52 = this;
6285
+ var _this53 = this;
6235
6286
 
6236
6287
  if (this.spanMethod) {
6237
6288
  _tools.UtilTools.error('vxe.error.errConflicts', ['merge-cells', 'span-method']);
@@ -6239,7 +6290,7 @@ var Methods = {
6239
6290
 
6240
6291
  var rest = removeMerges(this, merges, this.mergeList, this.afterFullData);
6241
6292
  return this.$nextTick().then(function () {
6242
- _this52.updateCellAreas();
6293
+ _this53.updateCellAreas();
6243
6294
 
6244
6295
  return rest;
6245
6296
  });
@@ -6263,7 +6314,7 @@ var Methods = {
6263
6314
  this.setMergeFooterItems(this.mergeFooterItems);
6264
6315
  },
6265
6316
  setMergeFooterItems: function setMergeFooterItems(merges) {
6266
- var _this53 = this;
6317
+ var _this54 = this;
6267
6318
 
6268
6319
  if (this.footerSpanMethod) {
6269
6320
  _tools.UtilTools.error('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
@@ -6271,11 +6322,11 @@ var Methods = {
6271
6322
 
6272
6323
  setMerges(this, merges, this.mergeFooterList, null);
6273
6324
  return this.$nextTick().then(function () {
6274
- return _this53.updateCellAreas();
6325
+ return _this54.updateCellAreas();
6275
6326
  });
6276
6327
  },
6277
6328
  removeMergeFooterItems: function removeMergeFooterItems(merges) {
6278
- var _this54 = this;
6329
+ var _this55 = this;
6279
6330
 
6280
6331
  if (this.footerSpanMethod) {
6281
6332
  _tools.UtilTools.error('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
@@ -6283,7 +6334,7 @@ var Methods = {
6283
6334
 
6284
6335
  var rest = removeMerges(this, merges, this.mergeFooterList, null);
6285
6336
  return this.$nextTick().then(function () {
6286
- _this54.updateCellAreas();
6337
+ _this55.updateCellAreas();
6287
6338
 
6288
6339
  return rest;
6289
6340
  });
@@ -6426,7 +6477,7 @@ var Methods = {
6426
6477
  }
6427
6478
  }; // Module methods
6428
6479
 
6429
- var funcs = 'setFilter,openFilter,clearFilter,getCheckedFilters,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,clearCopyCellArea,setCellAreas,openFind,openReplace,getSelectedCell,clearSelected,insert,insertAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearActived,getActiveRecord,isActiveByRow,setActiveRow,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',');
6480
+ var funcs = 'setFilter,openFilter,clearFilter,getCheckedFilters,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,clearCopyCellArea,setCellAreas,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearActived,getActiveRecord,isActiveByRow,setActiveRow,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',');
6430
6481
  funcs.forEach(function (name) {
6431
6482
  Methods[name] = function () {
6432
6483
  if (process.env.NODE_ENV === 'development') {