vxe-pc-ui 3.20.7 → 3.20.9

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 (89) hide show
  1. package/es/card/src/card.js +2 -1
  2. package/es/drawer/src/drawer.js +1 -0
  3. package/es/icon/style.css +1 -1
  4. package/es/layout-aside/src/layout-aside.js +2 -1
  5. package/es/layout-body/src/layout-body.js +2 -1
  6. package/es/layout-container/src/layout-container.js +9 -2
  7. package/es/list/src/list.js +78 -47
  8. package/es/menu/src/menu.js +1 -0
  9. package/es/modal/src/modal.js +1 -0
  10. package/es/scrollbar/src/scrollbar.js +8 -0
  11. package/es/style.css +1 -1
  12. package/es/style.min.css +1 -1
  13. package/es/tabs/src/tabs.js +2 -1
  14. package/es/tooltip/src/tooltip.js +14 -6
  15. package/es/tree/src/tree.js +74 -44
  16. package/es/ui/index.js +1 -1
  17. package/es/ui/src/log.js +1 -1
  18. package/lib/card/src/card.js +1 -1
  19. package/lib/card/src/card.min.js +1 -1
  20. package/lib/drawer/src/drawer.js +1 -1
  21. package/lib/drawer/src/drawer.min.js +1 -1
  22. package/lib/icon/style/style.css +1 -1
  23. package/lib/icon/style/style.min.css +1 -1
  24. package/lib/index.umd.js +325 -139
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/layout-aside/src/layout-aside.js +1 -1
  27. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  28. package/lib/layout-body/src/layout-body.js +1 -1
  29. package/lib/layout-body/src/layout-body.min.js +1 -1
  30. package/lib/layout-container/src/layout-container.js +13 -3
  31. package/lib/layout-container/src/layout-container.min.js +1 -1
  32. package/lib/list/src/list.js +72 -43
  33. package/lib/list/src/list.min.js +1 -1
  34. package/lib/menu/src/menu.js +1 -1
  35. package/lib/menu/src/menu.min.js +1 -1
  36. package/lib/modal/src/modal.js +1 -1
  37. package/lib/modal/src/modal.min.js +1 -1
  38. package/lib/scrollbar/src/scrollbar.js +8 -0
  39. package/lib/style.css +1 -1
  40. package/lib/style.min.css +1 -1
  41. package/lib/tabs/src/tabs.js +1 -1
  42. package/lib/tabs/src/tabs.min.js +1 -1
  43. package/lib/tooltip/src/tooltip.js +10 -6
  44. package/lib/tooltip/src/tooltip.min.js +1 -1
  45. package/lib/tree/src/tree.js +67 -39
  46. package/lib/tree/src/tree.min.js +1 -1
  47. package/lib/ui/index.js +1 -1
  48. package/lib/ui/index.min.js +1 -1
  49. package/lib/ui/src/log.js +1 -1
  50. package/lib/ui/src/log.min.js +1 -1
  51. package/package.json +2 -2
  52. package/packages/card/src/card.ts +4 -2
  53. package/packages/drawer/src/drawer.ts +4 -2
  54. package/packages/layout-aside/src/layout-aside.ts +4 -2
  55. package/packages/layout-body/src/layout-body.ts +4 -2
  56. package/packages/layout-container/src/layout-container.ts +13 -3
  57. package/packages/list/src/list.ts +84 -49
  58. package/packages/menu/src/menu.ts +3 -1
  59. package/packages/modal/src/modal.ts +3 -1
  60. package/packages/scrollbar/src/scrollbar.ts +8 -0
  61. package/packages/tabs/src/tabs.ts +4 -2
  62. package/packages/tooltip/src/tooltip.ts +17 -8
  63. package/packages/tree/src/tree.ts +80 -46
  64. package/types/components/card.d.ts +2 -2
  65. package/types/components/drawer.d.ts +2 -2
  66. package/types/components/grid.d.ts +3 -2
  67. package/types/components/layout-aside.d.ts +2 -2
  68. package/types/components/layout-body.d.ts +2 -2
  69. package/types/components/layout-container.d.ts +3 -1
  70. package/types/components/list.d.ts +2 -2
  71. package/types/components/menu.d.ts +2 -2
  72. package/types/components/modal.d.ts +2 -2
  73. package/types/components/scrollbar.d.ts +10 -0
  74. package/types/components/table.d.ts +9 -5
  75. package/types/components/tabs.d.ts +2 -2
  76. package/types/components/tooltip.d.ts +2 -2
  77. package/types/components/tree.d.ts +2 -2
  78. /package/es/icon/{iconfont.1792080131929.ttf → iconfont.1792139429655.ttf} +0 -0
  79. /package/es/icon/{iconfont.1792080131929.woff → iconfont.1792139429655.woff} +0 -0
  80. /package/es/icon/{iconfont.1792080131929.woff2 → iconfont.1792139429655.woff2} +0 -0
  81. /package/es/{iconfont.1792080131929.ttf → iconfont.1792139429655.ttf} +0 -0
  82. /package/es/{iconfont.1792080131929.woff → iconfont.1792139429655.woff} +0 -0
  83. /package/es/{iconfont.1792080131929.woff2 → iconfont.1792139429655.woff2} +0 -0
  84. /package/lib/icon/style/{iconfont.1792080131929.ttf → iconfont.1792139429655.ttf} +0 -0
  85. /package/lib/icon/style/{iconfont.1792080131929.woff → iconfont.1792139429655.woff} +0 -0
  86. /package/lib/icon/style/{iconfont.1792080131929.woff2 → iconfont.1792139429655.woff2} +0 -0
  87. /package/lib/{iconfont.1792080131929.ttf → iconfont.1792139429655.ttf} +0 -0
  88. /package/lib/{iconfont.1792080131929.woff → iconfont.1792139429655.woff} +0 -0
  89. /package/lib/{iconfont.1792080131929.woff2 → iconfont.1792139429655.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -11402,6 +11402,7 @@ __webpack_require__.d(__webpack_exports__, {
11402
11402
  setup: function() { return /* reexport */ setup; },
11403
11403
  sizeMixin: function() { return /* reexport */ sizeMixin; },
11404
11404
  use: function() { return /* reexport */ use; },
11405
+ vScrollbarMixin: function() { return /* reexport */ vScrollbarMixin; },
11405
11406
  validators: function() { return /* reexport */ validators; },
11406
11407
  version: function() { return /* reexport */ ui_version; },
11407
11408
  watermark: function() { return /* reexport */ components_watermark; }
@@ -11659,6 +11660,7 @@ __webpack_require__.d(components_namespaceObject, {
11659
11660
  setup: function() { return setup; },
11660
11661
  sizeMixin: function() { return sizeMixin; },
11661
11662
  use: function() { return use; },
11663
+ vScrollbarMixin: function() { return vScrollbarMixin; },
11662
11664
  validators: function() { return validators; },
11663
11665
  version: function() { return ui_version; },
11664
11666
  watermark: function() { return components_watermark; }
@@ -11702,7 +11704,7 @@ var es_regexp_exec = __webpack_require__(7495);
11702
11704
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js
11703
11705
  var es_string_match = __webpack_require__(1761);
11704
11706
  ;// ./node_modules/@vxe-ui/core/es/src/core.js
11705
- var coreVersion = "3.4.32";
11707
+ var coreVersion = "3.4.35";
11706
11708
  var VxeCore = {
11707
11709
  coreVersion: coreVersion,
11708
11710
  uiVersion: '',
@@ -12463,7 +12465,7 @@ function createLog(type, name) {
12463
12465
  return msg;
12464
12466
  };
12465
12467
  }
12466
- var version = "3.4.32";
12468
+ var version = "3.4.35";
12467
12469
  var log = {
12468
12470
  create: createLog,
12469
12471
  warn: createLog('warn', "v".concat(version)),
@@ -13023,15 +13025,104 @@ var baseUtils = {
13023
13025
  */
13024
13026
  getDefVal: function getDefVal(value, defVal) {
13025
13027
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(value) ? defVal : value;
13028
+ },
13029
+ /**
13030
+ * 判断是否启用
13031
+ */
13032
+ isEnabled: function isEnabled(conf) {
13033
+ return !!(conf && conf.enabled !== false);
13034
+ },
13035
+ /**
13036
+ * 用于开关类型的配置项
13037
+ * 局部启用规则:conf={}
13038
+ * 局部禁用规则:conf={enabled:false}
13039
+ * 全局默认启用规则:conf.enabled=true
13040
+ */
13041
+ hasEnableConf: function hasEnableConf(conf, opts) {
13042
+ return !!(opts && (conf ? opts.enabled !== false : opts.enabled));
13026
13043
  }
13027
13044
  };
13028
13045
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
13029
13046
  var es_array_join = __webpack_require__(8598);
13047
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js
13048
+ var es_regexp_constructor = __webpack_require__(4864);
13049
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.dot-all.js
13050
+ var es_regexp_dot_all = __webpack_require__(7465);
13051
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.sticky.js
13052
+ var es_regexp_sticky = __webpack_require__(7745);
13053
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
13054
+ var es_regexp_to_string = __webpack_require__(8781);
13055
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js
13056
+ var es_string_replace = __webpack_require__(5440);
13030
13057
  ;// ./node_modules/@vxe-ui/core/es/src/dom-utils.js
13031
13058
 
13032
13059
 
13033
13060
 
13061
+
13062
+
13063
+
13064
+
13065
+
13066
+
13067
+
13068
+
13069
+ var reClsMap = {};
13070
+ function getClsRE(cls) {
13071
+ if (!reClsMap[cls]) {
13072
+ reClsMap[cls] = new RegExp("(?:^|\\s)".concat(cls, "(?!\\S)"), 'g');
13073
+ }
13074
+ return reClsMap[cls];
13075
+ }
13076
+ /**
13077
+ * 判断元素是否包含 class
13078
+ */
13079
+ function hasClass(elem, cls) {
13080
+ if (elem) {
13081
+ if (elem.classList) {
13082
+ return elem.classList.contains(cls);
13083
+ }
13084
+ return !!(elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
13085
+ }
13086
+ return false;
13087
+ }
13088
+ /**
13089
+ * 给元素删除 class
13090
+ */
13091
+ function removeClass(elem, cls) {
13092
+ if (elem && hasClass(elem, cls)) {
13093
+ elem.className = elem.className.replace(getClsRE(cls), '');
13094
+ }
13095
+ }
13034
13096
  var domUtils = {
13097
+ /**
13098
+ * 判断是否像素px单位 '100px' | 100
13099
+ */
13100
+ isPx: function isPx(val) {
13101
+ return val && /^\d+(\.\d+)?(px)?$/.test(val);
13102
+ },
13103
+ /**
13104
+ * 判断是否百分比%单位 '100%'
13105
+ */
13106
+ isScale: function isScale(val) {
13107
+ return val && /^\d+(\.\d+)?%$/.test(val);
13108
+ },
13109
+ /**
13110
+ * 判断元素是否包含 class
13111
+ */
13112
+ hasClass: hasClass,
13113
+ /**
13114
+ * 给元素删除 class
13115
+ */
13116
+ removeClass: removeClass,
13117
+ /**
13118
+ * 给元素增加 class
13119
+ */
13120
+ addClass: function addClass(elem, cls) {
13121
+ if (elem && !hasClass(elem, cls)) {
13122
+ removeClass(elem, cls);
13123
+ elem.className = elem.className + ' ' + cls;
13124
+ }
13125
+ },
13035
13126
  /**
13036
13127
  * 生成 className
13037
13128
  */
@@ -13305,6 +13396,7 @@ var popperUtils = {
13305
13396
  ;// ./node_modules/@vxe-ui/core/es/src/mixins.js
13306
13397
 
13307
13398
 
13399
+
13308
13400
  var sizeMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13309
13401
  inject: {
13310
13402
  $xeSizeInfo: {
@@ -13329,6 +13421,30 @@ var sizeMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13329
13421
  }
13330
13422
  }
13331
13423
  });
13424
+ var vScrollbarMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13425
+ inject: {
13426
+ $xeScrollbarInfo: {
13427
+ default: null
13428
+ }
13429
+ },
13430
+ provide: function provide() {
13431
+ var _this2 = this;
13432
+ return {
13433
+ $xeScrollbarInfo: {
13434
+ getIsVScrollbar: function getIsVScrollbar() {
13435
+ return _this2.computeIsVScrollbar;
13436
+ }
13437
+ }
13438
+ };
13439
+ },
13440
+ computed: {
13441
+ computeIsVScrollbar: function computeIsVScrollbar() {
13442
+ var useScrollbar = this.useScrollbar;
13443
+ var $xeScrollbarInfo = this.$xeScrollbarInfo;
13444
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(useScrollbar) ? useScrollbar : $xeScrollbarInfo ? $xeScrollbarInfo.getIsVScrollbar() : null;
13445
+ }
13446
+ }
13447
+ });
13332
13448
  var permissionMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13333
13449
  computed: {
13334
13450
  computePermissionInfo: function computePermissionInfo() {
@@ -13338,6 +13454,7 @@ var permissionMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().ext
13338
13454
  });
13339
13455
  var globalMixins = {
13340
13456
  sizeMixin: sizeMixin,
13457
+ vScrollbarMixin: vScrollbarMixin,
13341
13458
  permissionMixin: permissionMixin
13342
13459
  };
13343
13460
  ;// ./node_modules/@vxe-ui/core/es/index.esm.js
@@ -13612,7 +13729,7 @@ var es_array_filter = __webpack_require__(2008);
13612
13729
 
13613
13730
 
13614
13731
  var log_log = VxeUI.log;
13615
- var uiVersion = "ui v".concat("3.20.7");
13732
+ var uiVersion = "ui v".concat("3.20.9");
13616
13733
  function createComponentLog(name) {
13617
13734
  var tableVersion = VxeUI.tableVersion ? "table v".concat(VxeUI.tableVersion) : '';
13618
13735
  var ganttVersion = VxeUI.ganttVersion ? "gantt v".concat(VxeUI.ganttVersion) : '';
@@ -13632,7 +13749,7 @@ var errLog = log_log.create('error', uiVersion);
13632
13749
 
13633
13750
 
13634
13751
 
13635
- var ui_version = "3.20.7";
13752
+ var ui_version = "3.20.9";
13636
13753
  VxeUI.uiVersion = ui_version;
13637
13754
  VxeUI.dynamicApp = dynamicApp;
13638
13755
  function config(options) {
@@ -15431,16 +15548,6 @@ dynamicApp.use(VxeAlert);
15431
15548
  VxeUI.component(src_alert);
15432
15549
  var Alert = VxeAlert;
15433
15550
  /* harmony default export */ var packages_alert = (VxeAlert);
15434
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js
15435
- var es_string_replace = __webpack_require__(5440);
15436
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js
15437
- var es_regexp_constructor = __webpack_require__(4864);
15438
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.dot-all.js
15439
- var es_regexp_dot_all = __webpack_require__(7465);
15440
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.sticky.js
15441
- var es_regexp_sticky = __webpack_require__(7745);
15442
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
15443
- var es_regexp_to_string = __webpack_require__(8781);
15444
15551
  ;// ./packages/ui/src/dom.ts
15445
15552
  /* unused harmony import specifier */ var XEUtils;
15446
15553
 
@@ -15471,12 +15578,12 @@ function getTpImg() {
15471
15578
  function getPropClass(property, params) {
15472
15579
  return property ? (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(property) ? property(params) : property) || '' : '';
15473
15580
  }
15474
- var reClsMap = {};
15475
- function getClsRE(cls) {
15476
- if (!reClsMap[cls]) {
15477
- reClsMap[cls] = new RegExp("(?:^|\\s)".concat(cls, "(?!\\S)"), 'g');
15581
+ var dom_reClsMap = {};
15582
+ function dom_getClsRE(cls) {
15583
+ if (!dom_reClsMap[cls]) {
15584
+ dom_reClsMap[cls] = new RegExp("(?:^|\\s)".concat(cls, "(?!\\S)"), 'g');
15478
15585
  }
15479
- return reClsMap[cls];
15586
+ return dom_reClsMap[cls];
15480
15587
  }
15481
15588
  function getNodeOffset(elem, container, rest) {
15482
15589
  if (elem) {
@@ -15499,23 +15606,23 @@ function isPx(val) {
15499
15606
  function isScale(val) {
15500
15607
  return val && /^\d+(\.\d+)?%$/.test(val);
15501
15608
  }
15502
- function hasClass(elem, cls) {
15609
+ function dom_hasClass(elem, cls) {
15503
15610
  if (elem) {
15504
15611
  if (elem.classList) {
15505
15612
  return elem.classList.contains(cls);
15506
15613
  }
15507
- return !!(elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
15614
+ return !!(elem.className && elem.className.match && elem.className.match(dom_getClsRE(cls)));
15508
15615
  }
15509
15616
  return false;
15510
15617
  }
15511
- function removeClass(elem, cls) {
15512
- if (elem && hasClass(elem, cls)) {
15513
- elem.className = elem.className.replace(getClsRE(cls), '');
15618
+ function dom_removeClass(elem, cls) {
15619
+ if (elem && dom_hasClass(elem, cls)) {
15620
+ elem.className = elem.className.replace(dom_getClsRE(cls), '');
15514
15621
  }
15515
15622
  }
15516
15623
  function addClass(elem, cls) {
15517
- if (elem && !hasClass(elem, cls)) {
15518
- removeClass(elem, cls);
15624
+ if (elem && !dom_hasClass(elem, cls)) {
15625
+ dom_removeClass(elem, cls);
15519
15626
  elem.className = "".concat(elem.className, " ").concat(cls);
15520
15627
  }
15521
15628
  }
@@ -15546,7 +15653,7 @@ function getEventTargetNode(evnt, container, queryCls, queryMethod) {
15546
15653
  var targetElem;
15547
15654
  var target = evnt.target.shadowRoot && evnt.composed ? evnt.composedPath()[0] || evnt.target : evnt.target;
15548
15655
  while (target && target.nodeType && target !== document) {
15549
- if (queryCls && hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {
15656
+ if (queryCls && dom_hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {
15550
15657
  targetElem = target;
15551
15658
  } else if (target === container) {
15552
15659
  return {
@@ -16866,12 +16973,20 @@ function createInternalData() {
16866
16973
  return scrollbar_getConfig().scrollbar.viewInnerClassName;
16867
16974
  }
16868
16975
  },
16976
+ /**
16977
+ * 已废弃
16978
+ * @deprecated
16979
+ */
16869
16980
  autoResize: {
16870
16981
  type: Boolean,
16871
16982
  default: function _default() {
16872
16983
  return scrollbar_getConfig().scrollbar.autoResize;
16873
16984
  }
16874
16985
  },
16986
+ /**
16987
+ * 已废弃
16988
+ * @deprecated
16989
+ */
16875
16990
  syncResize: [Boolean, String, Number]
16876
16991
  },
16877
16992
  data: function data() {
@@ -17603,7 +17718,7 @@ function tooltip_createInternalData() {
17603
17718
  }
17604
17719
  /* harmony default export */ var tooltip = (/* define-vxe-component start */defineVxeComponent({
17605
17720
  name: 'VxeTooltip',
17606
- mixins: [globalMixins.sizeMixin],
17721
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
17607
17722
  props: {
17608
17723
  value: Boolean,
17609
17724
  size: {
@@ -17847,7 +17962,7 @@ function tooltip_createInternalData() {
17847
17962
  tipZindex = reactData.tipZindex;
17848
17963
  var panelElem = $xeTooltip.$refs.refElem;
17849
17964
  if (!targetElem || !panelElem) {
17850
- return;
17965
+ return $xeTooltip.$nextTick();
17851
17966
  }
17852
17967
  var targetRect = targetElem.getBoundingClientRect();
17853
17968
  var targetWidth = targetElem.offsetWidth;
@@ -17883,12 +17998,16 @@ function tooltip_createInternalData() {
17883
17998
  tipStore.placement = ppObj.placement;
17884
17999
  tipStore.style = panelStyle;
17885
18000
  tipStore.arrowStyle.left = ppObj.arrowLeft ? "".concat(ppObj.arrowLeft, "px") : '';
18001
+ return $xeTooltip.$nextTick();
17886
18002
  },
17887
18003
  updatePlacement: function updatePlacement() {
17888
18004
  var $xeTooltip = this;
17889
- $xeTooltip.updateTipStyle();
17890
- return $xeTooltip.$nextTick().then(function () {
18005
+ return $xeTooltip.updateTipStyle().then(function () {
17891
18006
  return $xeTooltip.updateTipStyle();
18007
+ }).then(function () {
18008
+ setTimeout(function () {
18009
+ return $xeTooltip.updateTipStyle();
18010
+ }, 15);
17892
18011
  });
17893
18012
  },
17894
18013
  isActived: function isActived() {
@@ -18091,9 +18210,9 @@ function tooltip_createInternalData() {
18091
18210
  var reactData = $xeTooltip.reactData;
18092
18211
  var useHtml = props.useHtml,
18093
18212
  theme = props.theme,
18094
- useScrollbar = props.useScrollbar,
18095
18213
  useHTML = props.useHTML;
18096
18214
  var tipContent = reactData.tipContent;
18215
+ var isVScrollbar = $xeTooltip.computeIsVScrollbar;
18097
18216
  var wrapperStyle = $xeTooltip.computeWrapperStyle;
18098
18217
  var contentSlot = slots.content;
18099
18218
  var contVNs = [];
@@ -18113,7 +18232,7 @@ function tooltip_createInternalData() {
18113
18232
  key: 'cd'
18114
18233
  }, "".concat(tipContent)));
18115
18234
  }
18116
- if (useScrollbar) {
18235
+ if (isVScrollbar) {
18117
18236
  return h(packages_scrollbar, {
18118
18237
  key: 5,
18119
18238
  ref: 'contentScrollbar',
@@ -21967,7 +22086,7 @@ var Calendar = VxeCalendar;
21967
22086
 
21968
22087
  /* harmony default export */ var card = (/* define-vxe-component start */defineVxeComponent({
21969
22088
  name: 'VxeCard',
21970
- mixins: [globalMixins.sizeMixin],
22089
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
21971
22090
  props: {
21972
22091
  title: String,
21973
22092
  showTitleOverflow: {
@@ -22900,7 +23019,7 @@ function clearRowAnimate(elem, clss) {
22900
23019
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elem.querySelectorAll(clss.map(function (cls) {
22901
23020
  return "".concat(cls, ".").concat(rowMoveCls);
22902
23021
  }).join(',')), function (elem) {
22903
- return removeClass(elem, rowMoveCls);
23022
+ return dom_removeClass(elem, rowMoveCls);
22904
23023
  });
22905
23024
  }
22906
23025
  }, 500);
@@ -23061,7 +23180,7 @@ function list_createInternalData() {
23061
23180
  }
23062
23181
  /* harmony default export */ var list = (/* define-vxe-component start */defineVxeComponent({
23063
23182
  name: 'VxeList',
23064
- mixins: [globalMixins.sizeMixin],
23183
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
23065
23184
  props: {
23066
23185
  data: Array,
23067
23186
  height: [Number, String],
@@ -23123,7 +23242,8 @@ function list_createInternalData() {
23123
23242
  xID: xID,
23124
23243
  reactData: reactData,
23125
23244
  crossListDragRowInfo: crossListDragRowGlobal,
23126
- reFlag: 0
23245
+ reLayoutFlag: 0,
23246
+ reScrollFlag: 0
23127
23247
  });
23128
23248
  },
23129
23249
  computed: _objectSpread2(_objectSpread2({}, {}), {}, {
@@ -23633,8 +23753,14 @@ function list_createInternalData() {
23633
23753
  },
23634
23754
  updateScrollbar: function updateScrollbar() {
23635
23755
  var $xeList = this;
23636
- $xeList.updateThumbSize();
23637
- $xeList.updateThumbOffset();
23756
+ var isVScrollbar = $xeList.computeIsVScrollbar;
23757
+ if (isVScrollbar) {
23758
+ return $xeList.$nextTick().then(function () {
23759
+ $xeList.updateThumbSize();
23760
+ $xeList.updateThumbOffset();
23761
+ });
23762
+ }
23763
+ return Promise.resolve();
23638
23764
  },
23639
23765
  /**
23640
23766
  * 重新计算列表
@@ -23647,7 +23773,7 @@ function list_createInternalData() {
23647
23773
  var parentEl = el.parentElement;
23648
23774
  var parentHeight = 0;
23649
23775
  // 如果是虚拟滚动条
23650
- if (parentEl && hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
23776
+ if (parentEl && dom_hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
23651
23777
  parentEl = parentEl.parentElement;
23652
23778
  }
23653
23779
  if (parentEl) {
@@ -23655,10 +23781,11 @@ function list_createInternalData() {
23655
23781
  parentHeight = parentEl.clientHeight - Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingLeft) + external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingRight));
23656
23782
  }
23657
23783
  reactData.parentHeight = parentHeight;
23658
- $xeList.updateScrollbar();
23659
23784
  $xeList.updateHeight();
23660
23785
  if (el.clientWidth && el.clientHeight) {
23661
- return $xeList.computeScrollLoad();
23786
+ return $xeList.computeScrollLoad().then(function () {
23787
+ $xeList.updateScrollbar();
23788
+ });
23662
23789
  }
23663
23790
  }
23664
23791
  return $xeList.$nextTick();
@@ -23672,7 +23799,7 @@ function list_createInternalData() {
23672
23799
  visibleSize = scrollYStore.visibleSize,
23673
23800
  offsetSize = scrollYStore.offsetSize,
23674
23801
  rowHeight = scrollYStore.rowHeight;
23675
- var scrollBodyElem = evnt.target;
23802
+ var scrollBodyElem = evnt.currentTarget;
23676
23803
  var scrollTop = scrollBodyElem.scrollTop;
23677
23804
  var toVisibleIndex = Math.floor(scrollTop / rowHeight);
23678
23805
  var offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
@@ -23689,7 +23816,7 @@ function list_createInternalData() {
23689
23816
  var $xeList = this;
23690
23817
  var reactData = $xeList.reactData;
23691
23818
  var internalData = $xeList.internalData;
23692
- var scrollBodyElem = evnt.target;
23819
+ var scrollBodyElem = evnt.currentTarget;
23693
23820
  var scrollTop = scrollBodyElem.scrollTop;
23694
23821
  var scrollLeft = scrollBodyElem.scrollLeft;
23695
23822
  var isX = scrollLeft !== internalData.lastScrollLeft;
@@ -24163,7 +24290,7 @@ function list_createInternalData() {
24163
24290
  var clss = 'row--drag-origin';
24164
24291
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(".".concat(clss)), function (elem) {
24165
24292
  elem.draggable = false;
24166
- removeClass(elem, clss);
24293
+ dom_removeClass(elem, clss);
24167
24294
  });
24168
24295
  }
24169
24296
  },
@@ -25055,6 +25182,28 @@ function list_createInternalData() {
25055
25182
  }, evnt);
25056
25183
  },
25057
25184
  // 滚动条
25185
+ bindScrollbarResize: function bindScrollbarResize() {
25186
+ var $xeList = this;
25187
+ var internalData = $xeList.internalData;
25188
+ var scrollObserver = internalData.scrollObserver;
25189
+ var isVScrollbar = $xeList.computeIsVScrollbar;
25190
+ if (isVScrollbar) {
25191
+ if (!scrollObserver) {
25192
+ var el = $xeList.$refs.refElem;
25193
+ var viewInnerEl = $xeList.$refs.refVirtualSpaceElem;
25194
+ var _scrollObserver = list_globalResize.create(function () {
25195
+ $xeList.reScrollFlag++;
25196
+ });
25197
+ if (el) {
25198
+ _scrollObserver.observe(el);
25199
+ }
25200
+ if (viewInnerEl) {
25201
+ _scrollObserver.observe(viewInnerEl);
25202
+ }
25203
+ internalData.scrollObserver = _scrollObserver;
25204
+ }
25205
+ }
25206
+ },
25058
25207
  updateThumbSize: function updateThumbSize() {
25059
25208
  var $xeList = this;
25060
25209
  var reactData = $xeList.reactData;
@@ -25473,8 +25622,7 @@ function list_createInternalData() {
25473
25622
  var slots = $xeList.$scopedSlots;
25474
25623
  var showCheckbox = props.showCheckbox,
25475
25624
  className = props.className,
25476
- loading = props.loading,
25477
- useScrollbar = props.useScrollbar;
25625
+ loading = props.loading;
25478
25626
  var bodyHeight = reactData.bodyHeight,
25479
25627
  topSpaceHeight = reactData.topSpaceHeight,
25480
25628
  rowList = reactData.rowList,
@@ -25486,6 +25634,7 @@ function list_createInternalData() {
25486
25634
  var headerSlot = slots.header;
25487
25635
  var footerSlot = slots.footer;
25488
25636
  var vSize = $xeList.computeSize;
25637
+ var isVScrollbar = $xeList.computeIsVScrollbar;
25489
25638
  var wrapperStyles = $xeList.computeWrapperStyles;
25490
25639
  var virtualStyles = $xeList.computeVirtualStyles;
25491
25640
  var radioOpts = $xeList.computeRadioOpts;
@@ -25512,9 +25661,9 @@ function list_createInternalData() {
25512
25661
  }
25513
25662
  return h('div', {
25514
25663
  ref: 'refElem',
25515
- class: ['vxe-list', useScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', useScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
25664
+ class: ['vxe-list', isVScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', isVScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
25516
25665
  $list: $xeList
25517
- }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--virtual-scrollbar', useScrollbar), 'ov-padding', useScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', useScrollbar && scrollXAutoHide), 'ov-y--auto-hide', useScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'is--drag', isDrag), 'is--loading', loading)],
25666
+ }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--virtual-scrollbar', isVScrollbar), 'ov-padding', isVScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', isVScrollbar && scrollXAutoHide), 'ov-y--auto-hide', isVScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'is--drag', isDrag), 'is--loading', loading)],
25518
25667
  on: leOns,
25519
25668
  style: wrapperStyles
25520
25669
  }, [headerSlot || showDefChekboxHead ? h('div', {
@@ -25545,6 +25694,7 @@ function list_createInternalData() {
25545
25694
  scroll: $xeList.scrollEvent
25546
25695
  }
25547
25696
  }, [h('div', {
25697
+ ref: 'refVirtualSpaceElem',
25548
25698
  class: 'vxe-list--y-space',
25549
25699
  style: {
25550
25700
  height: bodyHeight ? "".concat(bodyHeight, "px") : ''
@@ -25576,7 +25726,7 @@ function list_createInternalData() {
25576
25726
  /**
25577
25727
  * 滚动条
25578
25728
  */
25579
- useScrollbar ? h('div', {
25729
+ isVScrollbar ? h('div', {
25580
25730
  class: scrollbarWrapperClss
25581
25731
  }, [scrollXVisible === false ? renderEmptyElement($xeList) : h('div', {
25582
25732
  ref: 'refTrackXElem',
@@ -25634,50 +25784,61 @@ function list_createInternalData() {
25634
25784
  },
25635
25785
  height: function height() {
25636
25786
  var $xeList = this;
25637
- $xeList.reFlag++;
25787
+ $xeList.reLayoutFlag++;
25638
25788
  },
25639
25789
  maxHeight: function maxHeight() {
25640
25790
  var $xeList = this;
25641
- $xeList.reFlag++;
25791
+ $xeList.reLayoutFlag++;
25642
25792
  },
25643
25793
  syncResize: function syncResize() {
25644
25794
  var $xeList = this;
25645
- $xeList.reFlag++;
25795
+ $xeList.reLayoutFlag++;
25646
25796
  },
25647
- useScrollbar: function useScrollbar() {
25797
+ computeIsVScrollbar: function computeIsVScrollbar() {
25648
25798
  var $xeList = this;
25649
- $xeList.reFlag++;
25799
+ $xeList.$nextTick(function () {
25800
+ $xeList.bindScrollbarResize();
25801
+ $xeList.$nextTick(function () {
25802
+ $xeList.reLayoutFlag++;
25803
+ });
25804
+ });
25650
25805
  },
25651
25806
  computeRowHeight: function computeRowHeight() {
25652
25807
  var $xeList = this;
25653
- $xeList.reFlag++;
25808
+ $xeList.reLayoutFlag++;
25654
25809
  },
25655
25810
  computeScrollYWidth: function computeScrollYWidth() {
25656
25811
  var $xeList = this;
25657
- $xeList.reFlag++;
25812
+ $xeList.reLayoutFlag++;
25658
25813
  },
25659
25814
  computeScrollXHeight: function computeScrollXHeight() {
25660
25815
  var $xeList = this;
25661
- $xeList.reFlag++;
25816
+ $xeList.reLayoutFlag++;
25662
25817
  },
25663
25818
  computeScrollXVisible: function computeScrollXVisible() {
25664
25819
  var $xeList = this;
25665
25820
  $xeList.$nextTick(function () {
25666
- $xeList.reFlag++;
25821
+ $xeList.reLayoutFlag++;
25667
25822
  });
25668
25823
  },
25669
25824
  computeScrollYVisible: function computeScrollYVisible() {
25670
25825
  var $xeList = this;
25671
25826
  $xeList.$nextTick(function () {
25672
- $xeList.reFlag++;
25827
+ $xeList.reLayoutFlag++;
25673
25828
  });
25674
25829
  },
25675
- reFlag: function reFlag() {
25830
+ reLayoutFlag: function reLayoutFlag() {
25676
25831
  var $xeList = this;
25677
25832
  $xeList.recalculate().then(function () {
25678
25833
  $xeList.recalculate();
25679
25834
  });
25680
25835
  },
25836
+ reScrollFlag: function reScrollFlag() {
25837
+ var $xeList = this;
25838
+ $xeList.updateScrollbar().then(function () {
25839
+ $xeList.updateScrollbar();
25840
+ });
25841
+ },
25681
25842
  checkRowKey: function checkRowKey() {
25682
25843
  var $xeList = this;
25683
25844
  $xeList.updateRadioModeValue();
@@ -25701,8 +25862,7 @@ function list_createInternalData() {
25701
25862
  var showSeq = props.showSeq,
25702
25863
  showRadio = props.showRadio,
25703
25864
  showCheckbox = props.showCheckbox,
25704
- autoResize = props.autoResize,
25705
- useScrollbar = props.useScrollbar;
25865
+ autoResize = props.autoResize;
25706
25866
  var rowOpts = $xeList.computeRowOpts;
25707
25867
  var useKey = rowOpts.useKey,
25708
25868
  keyField = rowOpts.keyField;
@@ -25724,25 +25884,12 @@ function list_createInternalData() {
25724
25884
  if (useKey && !keyField) {
25725
25885
  list_errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
25726
25886
  }
25727
- var el = $xeList.$refs.refElem;
25728
- if (useScrollbar) {
25729
- var viewInnerEl = $xeList.$refs.refVirtualBody;
25730
- var scrollObserver = list_globalResize.create(function () {
25731
- $xeList.reFlag++;
25732
- });
25733
- if (el) {
25734
- scrollObserver.observe(el);
25735
- }
25736
- if (viewInnerEl) {
25737
- scrollObserver.observe(viewInnerEl);
25738
- }
25739
- internalData.scrollObserver = scrollObserver;
25740
- }
25741
25887
  if (autoResize) {
25888
+ var el = $xeList.$refs.refElem;
25742
25889
  var parentEl = $xeList.getParentElem();
25743
25890
  var resizeObserver = list_globalResize.create(function () {
25744
25891
  if (props.autoResize) {
25745
- $xeList.reFlag++;
25892
+ $xeList.reLayoutFlag++;
25746
25893
  }
25747
25894
  });
25748
25895
  if (el) {
@@ -25753,9 +25900,10 @@ function list_createInternalData() {
25753
25900
  }
25754
25901
  internalData.resizeObserver = resizeObserver;
25755
25902
  }
25756
- $xeList.reFlag++;
25903
+ $xeList.reLayoutFlag++;
25904
+ $xeList.bindScrollbarResize();
25757
25905
  list_globalEvents.on($xeList, 'resize', function () {
25758
- $xeList.reFlag++;
25906
+ $xeList.reLayoutFlag++;
25759
25907
  });
25760
25908
  },
25761
25909
  activated: function activated() {
@@ -27422,7 +27570,7 @@ var input_createComponentLog = createComponentLog('input'),
27422
27570
  var internalData = $xeInput.internalData;
27423
27571
  $xeInput.numberStopDown();
27424
27572
  if (evnt.button === 0) {
27425
- var isPrevNumber = hasClass(evnt.currentTarget, 'is--prev');
27573
+ var isPrevNumber = dom_hasClass(evnt.currentTarget, 'is--prev');
27426
27574
  if (isPrevNumber) {
27427
27575
  $xeInput.numberPrevEvent(evnt);
27428
27576
  } else {
@@ -34191,7 +34339,7 @@ var handleNumberString = function handleNumberString(val) {
34191
34339
  internalData.isMouseDown = false;
34192
34340
  } else {
34193
34341
  $xeNumberInput.numberStopAll();
34194
- var isAddNumber = hasClass(evnt.currentTarget, 'is--plus');
34342
+ var isAddNumber = dom_hasClass(evnt.currentTarget, 'is--plus');
34195
34343
  if (isAddNumber) {
34196
34344
  $xeNumberInput.numberPlusEvent(evnt);
34197
34345
  } else {
@@ -34205,7 +34353,7 @@ var handleNumberString = function handleNumberString(val) {
34205
34353
  $xeNumberInput.numberStopAll();
34206
34354
  internalData.isMouseDown = true;
34207
34355
  if (evnt.button === 0) {
34208
- var isAddNumber = hasClass(evnt.currentTarget, 'is--plus');
34356
+ var isAddNumber = dom_hasClass(evnt.currentTarget, 'is--plus');
34209
34357
  if (isAddNumber) {
34210
34358
  $xeNumberInput.numberPlusEvent(evnt);
34211
34359
  } else {
@@ -43096,7 +43244,7 @@ var allActiveDrawers = [];
43096
43244
 
43097
43245
  /* harmony default export */ var drawer = (/* define-vxe-component start */defineVxeComponent({
43098
43246
  name: 'VxeDrawer',
43099
- mixins: [globalMixins.sizeMixin, globalMixins.permissionMixin],
43247
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.permissionMixin],
43100
43248
  props: {
43101
43249
  value: Boolean,
43102
43250
  id: String,
@@ -48246,7 +48394,7 @@ var IconPicker = VxeIconPicker;
48246
48394
  var $xeImagePreview = this;
48247
48395
  var reactData = $xeImagePreview.reactData;
48248
48396
  var elem = $xeImagePreview.$refs.refElem;
48249
- removeClass(elem, 'is--move');
48397
+ dom_removeClass(elem, 'is--move');
48250
48398
  Object.assign(reactData, {
48251
48399
  offsetPct11: false,
48252
48400
  offsetScale: 0,
@@ -48505,7 +48653,7 @@ var IconPicker = VxeIconPicker;
48505
48653
  document.onmouseup = function () {
48506
48654
  document.onmousemove = domMousemove;
48507
48655
  document.onmouseup = domMouseup;
48508
- removeClass(elem, 'is--move');
48656
+ dom_removeClass(elem, 'is--move');
48509
48657
  };
48510
48658
  },
48511
48659
  handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {
@@ -48721,7 +48869,7 @@ var IconPicker = VxeIconPicker;
48721
48869
  var elem = $xeImagePreview.$refs.refElem;
48722
48870
  if (elem) {
48723
48871
  elem.removeEventListener('wheel', $xeImagePreview.wheelEvent);
48724
- removeClass(elem, 'is--move');
48872
+ dom_removeClass(elem, 'is--move');
48725
48873
  }
48726
48874
  globalEvents.off($xeImagePreview, 'keydown');
48727
48875
  },
@@ -49338,7 +49486,7 @@ var ImagePreview = VxeImagePreview;
49338
49486
 
49339
49487
  /* harmony default export */ var layout_aside = (/* define-vxe-component start */defineVxeComponent({
49340
49488
  name: 'VxeLayoutAside',
49341
- mixins: [globalMixins.sizeMixin],
49489
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
49342
49490
  props: {
49343
49491
  width: [String, Number],
49344
49492
  collapsed: Boolean,
@@ -49504,7 +49652,7 @@ function layout_body_createReactData() {
49504
49652
  }
49505
49653
  /* harmony default export */ var layout_body = (/* define-vxe-component start */defineVxeComponent({
49506
49654
  name: 'VxeLayoutBody',
49507
- mixins: [globalMixins.sizeMixin],
49655
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
49508
49656
  props: {
49509
49657
  loading: Boolean,
49510
49658
  padding: Boolean,
@@ -49686,15 +49834,25 @@ var LayoutBody = VxeLayoutBody;
49686
49834
 
49687
49835
 
49688
49836
 
49837
+ var layout_container_getConfig = VxeUI.getConfig,
49838
+ layout_container_baseUtils = VxeUI.baseUtils,
49839
+ layout_container_createEvent = VxeUI.createEvent;
49840
+ var layout_container_getDefVal = layout_container_baseUtils.getDefVal;
49689
49841
  /* harmony default export */ var layout_container = (/* define-vxe-component start */defineVxeComponent({
49690
49842
  name: 'VxeLayoutContainer',
49691
- mixins: [globalMixins.sizeMixin],
49843
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
49692
49844
  props: {
49693
49845
  vertical: Boolean,
49846
+ useScrollbar: {
49847
+ type: Boolean,
49848
+ default: function _default() {
49849
+ return layout_container_getDefVal(layout_container_getConfig().layoutContainer.useScrollbar, layout_container_getConfig().useScrollbar);
49850
+ }
49851
+ },
49694
49852
  size: {
49695
49853
  type: String,
49696
49854
  default: function _default() {
49697
- return getConfig().layoutContainer.size || getConfig().size;
49855
+ return layout_container_getConfig().layoutContainer.size || layout_container_getConfig().size;
49698
49856
  }
49699
49857
  }
49700
49858
  },
@@ -49713,7 +49871,7 @@ var LayoutBody = VxeLayoutBody;
49713
49871
  //
49714
49872
  dispatchEvent: function dispatchEvent(type, params, evnt) {
49715
49873
  var $xeLayoutContainer = this;
49716
- $xeLayoutContainer.$emit(type, createEvent(evnt, {
49874
+ $xeLayoutContainer.$emit(type, layout_container_createEvent(evnt, {
49717
49875
  $layoutContainer: $xeLayoutContainer
49718
49876
  }, params));
49719
49877
  },
@@ -50079,7 +50237,7 @@ function menu_createReactData() {
50079
50237
  var nemuUniqueKey = 100000000;
50080
50238
  /* harmony default export */ var menu = (/* define-vxe-component start */defineVxeComponent({
50081
50239
  name: 'VxeMenu',
50082
- mixins: [globalMixins.sizeMixin, globalMixins.permissionMixin],
50240
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.permissionMixin],
50083
50241
  props: {
50084
50242
  value: [String, Number],
50085
50243
  expandAll: Boolean,
@@ -51037,7 +51195,7 @@ var lockScrollAttrKey = 'data-vxe-lock-scroll';
51037
51195
  var lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
51038
51196
  /* harmony default export */ var modal = (/* define-vxe-component start */defineVxeComponent({
51039
51197
  name: 'VxeModal',
51040
- mixins: [globalMixins.sizeMixin, globalMixins.permissionMixin],
51198
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.permissionMixin],
51041
51199
  props: {
51042
51200
  value: Boolean,
51043
51201
  id: String,
@@ -60530,7 +60688,7 @@ var splitter_createComponentLog = createComponentLog('splitter'),
60530
60688
  rsSplitterLineEl.style.display = '';
60531
60689
  }
60532
60690
  handleUpdate();
60533
- removeClass(el, 'is--drag');
60691
+ dom_removeClass(el, 'is--drag');
60534
60692
  $xeSplitter.dispatchEvent('resize-end', {
60535
60693
  prevItem: prevItem,
60536
60694
  nextItem: nextItem,
@@ -63553,7 +63711,7 @@ var tabs_createComponentLog = createComponentLog('tabs'),
63553
63711
  var scrollbarOffsetSize = 20;
63554
63712
  /* harmony default export */ var tabs = (/* define-vxe-component start */defineVxeComponent({
63555
63713
  name: 'VxeTabs',
63556
- mixins: [globalMixins.sizeMixin],
63714
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
63557
63715
  props: {
63558
63716
  value: [String, Number, Boolean],
63559
63717
  options: Array,
@@ -63827,14 +63985,14 @@ var scrollbarOffsetSize = 20;
63827
63985
  if ((lrPosition ? scrollTop : scrollLeft) > 0) {
63828
63986
  addClass(headPrevEl, 'scrolling--middle');
63829
63987
  } else {
63830
- removeClass(headPrevEl, 'scrolling--middle');
63988
+ dom_removeClass(headPrevEl, 'scrolling--middle');
63831
63989
  }
63832
63990
  }
63833
63991
  if (headNextEl) {
63834
63992
  if (lrPosition ? clientHeight < scrollHeight - Math.ceil(scrollTop) : clientWidth < scrollWidth - Math.ceil(scrollLeft)) {
63835
63993
  addClass(headNextEl, 'scrolling--middle');
63836
63994
  } else {
63837
- removeClass(headNextEl, 'scrolling--middle');
63995
+ dom_removeClass(headNextEl, 'scrolling--middle');
63838
63996
  }
63839
63997
  }
63840
63998
  }
@@ -66209,7 +66367,7 @@ function clearNodeDropOrigin($xeTree) {
66209
66367
  var clss = 'node--drag-origin';
66210
66368
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(".".concat(clss)), function (elem) {
66211
66369
  elem.draggable = false;
66212
- removeClass(elem, clss);
66370
+ dom_removeClass(elem, clss);
66213
66371
  });
66214
66372
  }
66215
66373
  }
@@ -66707,7 +66865,7 @@ function tree_createInternalData() {
66707
66865
  }
66708
66866
  /* harmony default export */ var tree = (/* define-vxe-component start */defineVxeComponent({
66709
66867
  name: 'VxeTree',
66710
- mixins: [globalMixins.sizeMixin],
66868
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
66711
66869
  props: {
66712
66870
  data: Array,
66713
66871
  autoResize: {
@@ -66905,7 +67063,8 @@ function tree_createInternalData() {
66905
67063
  xID: xID,
66906
67064
  reactData: reactData,
66907
67065
  crossTreeDragNodeInfo: crossTreeDragNodeGlobal,
66908
- reFlag: 0,
67066
+ reLayoutFlag: 0,
67067
+ reScrollFlag: 0,
66909
67068
  dataFlag: 0
66910
67069
  });
66911
67070
  },
@@ -67788,8 +67947,14 @@ function tree_createInternalData() {
67788
67947
  },
67789
67948
  updateScrollbar: function updateScrollbar() {
67790
67949
  var $xeTree = this;
67791
- $xeTree.updateThumbSize();
67792
- $xeTree.updateThumbOffset();
67950
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
67951
+ if (isVScrollbar) {
67952
+ return $xeTree.$nextTick().then(function () {
67953
+ $xeTree.updateThumbSize();
67954
+ $xeTree.updateThumbOffset();
67955
+ });
67956
+ }
67957
+ return Promise.resolve();
67793
67958
  },
67794
67959
  /**
67795
67960
  * 重新计算列表
@@ -67808,18 +67973,18 @@ function tree_createInternalData() {
67808
67973
  var headHeight = headerWrapperEl ? headerWrapperEl.clientHeight : 0;
67809
67974
  var footHeight = footerWrapperEl ? footerWrapperEl.clientHeight : 0;
67810
67975
  // 如果是虚拟滚动条
67811
- if (parentEl && hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
67976
+ if (parentEl && dom_hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
67812
67977
  parentEl = parentEl.parentElement;
67813
67978
  }
67814
67979
  if (parentEl) {
67815
67980
  var parentPaddingSize = getPaddingTopBottomSize(parentEl);
67816
67981
  reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
67817
67982
  }
67818
- $xeTree.updateScrollbar();
67819
67983
  $xeTree.updateHeight();
67820
67984
  return $xeTree.computeScrollLoad().then(function () {
67821
67985
  $xeTree.updateHeight();
67822
67986
  $xeTree.updateYSpace();
67987
+ $xeTree.updateScrollbar();
67823
67988
  });
67824
67989
  }
67825
67990
  return $xeTree.$nextTick();
@@ -67859,7 +68024,7 @@ function tree_createInternalData() {
67859
68024
  var $xeTree = this;
67860
68025
  var reactData = $xeTree.reactData;
67861
68026
  var internalData = $xeTree.internalData;
67862
- var scrollBodyElem = evnt.target;
68027
+ var scrollBodyElem = evnt.currentTarget;
67863
68028
  var scrollTop = scrollBodyElem.scrollTop;
67864
68029
  var scrollLeft = scrollBodyElem.scrollLeft;
67865
68030
  var isX = scrollLeft !== internalData.lastScrollLeft;
@@ -69652,6 +69817,28 @@ function tree_createInternalData() {
69652
69817
  }
69653
69818
  },
69654
69819
  // 滚动条
69820
+ bindScrollbarResize: function bindScrollbarResize() {
69821
+ var $xeTree = this;
69822
+ var internalData = $xeTree.internalData;
69823
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
69824
+ var scrollObserver = internalData.scrollObserver;
69825
+ if (isVScrollbar) {
69826
+ if (!scrollObserver) {
69827
+ var el = $xeTree.$refs.refElem;
69828
+ var viewInnerEl = $xeTree.$refs.refVirtualSpaceElem;
69829
+ var _scrollObserver = globalResize.create(function () {
69830
+ $xeTree.reScrollFlag++;
69831
+ });
69832
+ if (el) {
69833
+ _scrollObserver.observe(el);
69834
+ }
69835
+ if (viewInnerEl) {
69836
+ _scrollObserver.observe(viewInnerEl);
69837
+ }
69838
+ internalData.scrollObserver = _scrollObserver;
69839
+ }
69840
+ }
69841
+ },
69655
69842
  updateThumbSize: function updateThumbSize() {
69656
69843
  var $xeTree = this;
69657
69844
  var reactData = $xeTree.reactData;
@@ -70168,8 +70355,7 @@ function tree_createInternalData() {
70168
70355
  var reactData = $xeTree.reactData;
70169
70356
  var loading = props.loading,
70170
70357
  trigger = props.trigger,
70171
- showLine = props.showLine,
70172
- useScrollbar = props.useScrollbar;
70358
+ showLine = props.showLine;
70173
70359
  var bodyHeight = reactData.bodyHeight,
70174
70360
  topSpaceHeight = reactData.topSpaceHeight,
70175
70361
  treeList = reactData.treeList,
@@ -70177,6 +70363,7 @@ function tree_createInternalData() {
70177
70363
  xThumbWidth = reactData.xThumbWidth,
70178
70364
  yThumbHeight = reactData.yThumbHeight;
70179
70365
  var vSize = $xeTree.computeSize;
70366
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
70180
70367
  var radioOpts = $xeTree.computeRadioOpts;
70181
70368
  var checkboxOpts = $xeTree.computeCheckboxOpts;
70182
70369
  var loadingOpts = $xeTree.computeLoadingOpts;
@@ -70203,7 +70390,7 @@ function tree_createInternalData() {
70203
70390
  }
70204
70391
  return h('div', {
70205
70392
  ref: 'refElem',
70206
- class: ['vxe-tree', useScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', useScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', (_ref = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, "size--".concat(vSize), vSize), 'show--line', showLine), 'is--virtual-scrollbar', useScrollbar), 'ov-padding', useScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', useScrollbar && scrollXAutoHide), 'ov-y--auto-hide', useScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), _defineProperty(_defineProperty(_defineProperty(_ref, 'node--hover', isNodeHover), 'node--trigger', trigger === 'node'), 'is--loading', loading))],
70393
+ class: ['vxe-tree', isVScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', isVScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', (_ref = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, "size--".concat(vSize), vSize), 'show--line', showLine), 'is--virtual-scrollbar', isVScrollbar), 'ov-padding', isVScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', isVScrollbar && scrollXAutoHide), 'ov-y--auto-hide', isVScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), _defineProperty(_defineProperty(_defineProperty(_ref, 'node--hover', isNodeHover), 'node--trigger', trigger === 'node'), 'is--loading', loading))],
70207
70394
  style: wrapperStyles,
70208
70395
  on: teOns
70209
70396
  }, [headerSlot ? h('div', {
@@ -70219,6 +70406,7 @@ function tree_createInternalData() {
70219
70406
  scroll: $xeTree.scrollEvent
70220
70407
  }
70221
70408
  }, [h('div', {
70409
+ ref: 'refVirtualSpaceElem',
70222
70410
  class: 'vxe-tree--y-space',
70223
70411
  style: {
70224
70412
  height: bodyHeight ? "".concat(bodyHeight, "px") : ''
@@ -70238,7 +70426,7 @@ function tree_createInternalData() {
70238
70426
  /**
70239
70427
  * 滚动条
70240
70428
  */
70241
- useScrollbar ? h('div', {
70429
+ isVScrollbar ? h('div', {
70242
70430
  class: scrollbarWrapperClss
70243
70431
  }, [scrollXVisible === false ? renderEmptyElement($xeTree) : h('div', {
70244
70432
  ref: 'refTrackXElem',
@@ -70362,45 +70550,56 @@ function tree_createInternalData() {
70362
70550
  },
70363
70551
  height: function height() {
70364
70552
  var $xeTree = this;
70365
- $xeTree.reFlag++;
70553
+ $xeTree.reLayoutFlag++;
70366
70554
  },
70367
70555
  minHeight: function minHeight() {
70368
70556
  var $xeTree = this;
70369
- $xeTree.reFlag++;
70557
+ $xeTree.reLayoutFlag++;
70370
70558
  },
70371
70559
  maxHeight: function maxHeight() {
70372
70560
  var $xeTree = this;
70373
- $xeTree.reFlag++;
70561
+ $xeTree.reLayoutFlag++;
70374
70562
  },
70375
- useScrollbar: function useScrollbar() {
70563
+ computeIsVScrollbar: function computeIsVScrollbar() {
70376
70564
  var $xeTree = this;
70377
- $xeTree.reFlag++;
70565
+ $xeTree.$nextTick(function () {
70566
+ $xeTree.bindScrollbarResize();
70567
+ $xeTree.$nextTick(function () {
70568
+ $xeTree.reLayoutFlag++;
70569
+ });
70570
+ });
70378
70571
  },
70379
70572
  computeScrollYWidth: function computeScrollYWidth() {
70380
70573
  var $xeTree = this;
70381
- $xeTree.reFlag++;
70574
+ $xeTree.reLayoutFlag++;
70382
70575
  },
70383
70576
  computeScrollXHeight: function computeScrollXHeight() {
70384
70577
  var $xeTree = this;
70385
- $xeTree.reFlag++;
70578
+ $xeTree.reLayoutFlag++;
70386
70579
  },
70387
70580
  computeScrollXVisible: function computeScrollXVisible() {
70388
70581
  var $xeTree = this;
70389
70582
  $xeTree.$nextTick(function () {
70390
- $xeTree.reFlag++;
70583
+ $xeTree.reLayoutFlag++;
70391
70584
  });
70392
70585
  },
70393
70586
  computeScrollYVisible: function computeScrollYVisible() {
70394
70587
  var $xeTree = this;
70395
70588
  $xeTree.$nextTick(function () {
70396
- $xeTree.reFlag++;
70589
+ $xeTree.reLayoutFlag++;
70397
70590
  });
70398
70591
  },
70399
- reFlag: function reFlag() {
70592
+ reLayoutFlag: function reLayoutFlag() {
70400
70593
  var $xeTree = this;
70401
70594
  $xeTree.recalculate().then(function () {
70402
70595
  $xeTree.recalculate();
70403
70596
  });
70597
+ },
70598
+ reScrollFlag: function reScrollFlag() {
70599
+ var $xeTree = this;
70600
+ $xeTree.updateScrollbar().then(function () {
70601
+ $xeTree.updateScrollbar();
70602
+ });
70404
70603
  }
70405
70604
  },
70406
70605
  created: function created() {
@@ -70421,8 +70620,7 @@ function tree_createInternalData() {
70421
70620
  showOverflow = props.showOverflow,
70422
70621
  lazy = props.lazy,
70423
70622
  loadMethod = props.loadMethod,
70424
- autoResize = props.autoResize,
70425
- useScrollbar = props.useScrollbar;
70623
+ autoResize = props.autoResize;
70426
70624
  var dragOpts = $xeTree.computeDragOpts;
70427
70625
  if (!showOverflow) {
70428
70626
  tree_errLog('vxe.error.errProp', ['show-overflow=false', 'show-overflow=true']);
@@ -70443,25 +70641,12 @@ function tree_createInternalData() {
70443
70641
  if (menuConfig && !VxeUIContextMenu) {
70444
70642
  tree_errLog('vxe.error.reqComp', ['vxe-context-menu']);
70445
70643
  }
70446
- var el = $xeTree.$refs.refElem;
70447
- if (useScrollbar) {
70448
- var viewInnerEl = $xeTree.$refs.refVirtualBody;
70449
- var scrollObserver = globalResize.create(function () {
70450
- $xeTree.updateScrollbar();
70451
- });
70452
- if (el) {
70453
- scrollObserver.observe(el);
70454
- }
70455
- if (viewInnerEl) {
70456
- scrollObserver.observe(viewInnerEl);
70457
- }
70458
- internalData.scrollObserver = scrollObserver;
70459
- }
70460
70644
  if (autoResize) {
70645
+ var el = $xeTree.$refs.refElem;
70461
70646
  var parentEl = $xeTree.getParentElem();
70462
70647
  var resizeObserver = globalResize.create(function () {
70463
70648
  if (props.autoResize) {
70464
- $xeTree.reFlag++;
70649
+ $xeTree.reLayoutFlag++;
70465
70650
  }
70466
70651
  });
70467
70652
  if (el) {
@@ -70472,9 +70657,10 @@ function tree_createInternalData() {
70472
70657
  }
70473
70658
  internalData.resizeObserver = resizeObserver;
70474
70659
  }
70475
- $xeTree.reFlag++;
70660
+ $xeTree.reLayoutFlag++;
70661
+ $xeTree.bindScrollbarResize();
70476
70662
  globalEvents.on($xeTree, 'resize', function () {
70477
- $xeTree.reFlag++;
70663
+ $xeTree.reLayoutFlag++;
70478
70664
  });
70479
70665
  },
70480
70666
  beforeDestroy: function beforeDestroy() {