vxe-pc-ui 4.20.7 → 4.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 (92) hide show
  1. package/dist/all.esm.js +915 -820
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +8 -6
  5. package/es/drawer/src/drawer.js +7 -5
  6. package/es/icon/style.css +1 -1
  7. package/es/layout-aside/src/layout-aside.js +6 -4
  8. package/es/layout-body/src/layout-body.js +6 -4
  9. package/es/layout-container/src/layout-container.js +11 -3
  10. package/es/list/src/list.js +79 -50
  11. package/es/menu/src/menu.js +7 -5
  12. package/es/modal/src/modal.js +7 -5
  13. package/es/scrollbar/src/scrollbar.js +8 -0
  14. package/es/style.css +1 -1
  15. package/es/style.min.css +1 -1
  16. package/es/tabs/src/tabs.js +5 -4
  17. package/es/tooltip/src/tooltip.js +15 -7
  18. package/es/tree/src/tree.js +74 -45
  19. package/es/ui/index.js +1 -1
  20. package/es/ui/src/log.js +1 -1
  21. package/lib/card/src/card.js +9 -6
  22. package/lib/card/src/card.min.js +1 -1
  23. package/lib/drawer/src/drawer.js +7 -4
  24. package/lib/drawer/src/drawer.min.js +1 -1
  25. package/lib/icon/style/style.css +1 -1
  26. package/lib/icon/style/style.min.css +1 -1
  27. package/lib/index.umd.js +371 -163
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/layout-aside/src/layout-aside.js +7 -4
  30. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  31. package/lib/layout-body/src/layout-body.js +7 -4
  32. package/lib/layout-body/src/layout-body.min.js +1 -1
  33. package/lib/layout-container/src/layout-container.js +20 -4
  34. package/lib/layout-container/src/layout-container.min.js +1 -1
  35. package/lib/list/src/list.js +79 -47
  36. package/lib/list/src/list.min.js +1 -1
  37. package/lib/menu/src/menu.js +8 -4
  38. package/lib/menu/src/menu.min.js +1 -1
  39. package/lib/modal/src/modal.js +7 -4
  40. package/lib/modal/src/modal.min.js +1 -1
  41. package/lib/scrollbar/src/scrollbar.js +8 -0
  42. package/lib/style.css +1 -1
  43. package/lib/style.min.css +1 -1
  44. package/lib/tabs/src/tabs.js +6 -5
  45. package/lib/tabs/src/tabs.min.js +1 -1
  46. package/lib/tooltip/src/tooltip.js +15 -6
  47. package/lib/tooltip/src/tooltip.min.js +1 -1
  48. package/lib/tree/src/tree.js +74 -43
  49. package/lib/tree/src/tree.min.js +1 -1
  50. package/lib/ui/index.js +1 -1
  51. package/lib/ui/index.min.js +1 -1
  52. package/lib/ui/src/log.js +1 -1
  53. package/lib/ui/src/log.min.js +1 -1
  54. package/package.json +2 -2
  55. package/packages/card/src/card.ts +8 -6
  56. package/packages/drawer/src/drawer.ts +7 -5
  57. package/packages/layout-aside/src/layout-aside.ts +6 -4
  58. package/packages/layout-body/src/layout-body.ts +6 -4
  59. package/packages/layout-container/src/layout-container.ts +13 -3
  60. package/packages/list/src/list.ts +81 -50
  61. package/packages/menu/src/menu.ts +7 -5
  62. package/packages/modal/src/modal.ts +7 -5
  63. package/packages/scrollbar/src/scrollbar.ts +8 -1
  64. package/packages/tabs/src/tabs.ts +5 -4
  65. package/packages/tooltip/src/tooltip.ts +15 -7
  66. package/packages/tree/src/tree.ts +76 -45
  67. package/types/components/card.d.ts +2 -2
  68. package/types/components/drawer.d.ts +2 -2
  69. package/types/components/grid.d.ts +3 -1
  70. package/types/components/layout-aside.d.ts +2 -2
  71. package/types/components/layout-body.d.ts +2 -2
  72. package/types/components/layout-container.d.ts +3 -1
  73. package/types/components/list.d.ts +2 -2
  74. package/types/components/menu.d.ts +2 -2
  75. package/types/components/modal.d.ts +2 -2
  76. package/types/components/scrollbar.d.ts +10 -0
  77. package/types/components/table.d.ts +9 -5
  78. package/types/components/tabs.d.ts +2 -2
  79. package/types/components/tooltip.d.ts +2 -2
  80. package/types/components/tree.d.ts +2 -2
  81. /package/es/icon/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  82. /package/es/icon/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  83. /package/es/icon/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
  84. /package/es/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  85. /package/es/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  86. /package/es/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
  87. /package/lib/icon/style/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  88. /package/lib/icon/style/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  89. /package/lib/icon/style/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
  90. /package/lib/{iconfont.1792080138286.ttf → iconfont.1792139440389.ttf} +0 -0
  91. /package/lib/{iconfont.1792080138286.woff → iconfont.1792139440389.woff} +0 -0
  92. /package/lib/{iconfont.1792080138286.woff2 → iconfont.1792139440389.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3084,6 +3084,7 @@ __webpack_require__.d(__webpack_exports__, {
3084
3084
  useFns: function() { return /* reexport */ useFns; },
3085
3085
  usePermission: function() { return /* reexport */ usePermission; },
3086
3086
  useSize: function() { return /* reexport */ useSize; },
3087
+ useVScrollbar: function() { return /* reexport */ useVScrollbar; },
3087
3088
  validators: function() { return /* reexport */ validators; },
3088
3089
  version: function() { return /* reexport */ ui_version; },
3089
3090
  watermark: function() { return /* reexport */ components_watermark; }
@@ -3342,6 +3343,7 @@ __webpack_require__.d(components_namespaceObject, {
3342
3343
  useFns: function() { return useFns; },
3343
3344
  usePermission: function() { return usePermission; },
3344
3345
  useSize: function() { return useSize; },
3346
+ useVScrollbar: function() { return useVScrollbar; },
3345
3347
  validators: function() { return validators; },
3346
3348
  version: function() { return ui_version; },
3347
3349
  watermark: function() { return components_watermark; }
@@ -3368,7 +3370,7 @@ if (typeof window !== 'undefined') {
3368
3370
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
3369
3371
  var es_array_push = __webpack_require__(4114);
3370
3372
  ;// ./node_modules/@vxe-ui/core/es/src/core.js
3371
- const coreVersion = "4.4.32";
3373
+ const coreVersion = "4.4.35";
3372
3374
  const VxeCore = {
3373
3375
  coreVersion,
3374
3376
  uiVersion: '',
@@ -3996,7 +3998,7 @@ function createLog(type, name) {
3996
3998
  return msg;
3997
3999
  };
3998
4000
  }
3999
- const version = "4.4.32";
4001
+ const version = "4.4.35";
4000
4002
  const log = {
4001
4003
  create: createLog,
4002
4004
  warn: createLog('warn', `v${version}`),
@@ -4462,12 +4464,83 @@ const baseUtils = {
4462
4464
  */
4463
4465
  getDefVal(value, defVal) {
4464
4466
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(value) ? defVal : value;
4467
+ },
4468
+ /**
4469
+ * 判断是否启用
4470
+ */
4471
+ isEnabled(conf) {
4472
+ return !!(conf && conf.enabled !== false);
4473
+ },
4474
+ /**
4475
+ * 用于开关类型的配置项
4476
+ * 局部启用规则:conf={}
4477
+ * 局部禁用规则:conf={enabled:false}
4478
+ * 全局默认启用规则:conf.enabled=true
4479
+ */
4480
+ hasEnableConf(conf, opts) {
4481
+ return !!(opts && (conf ? opts.enabled !== false : opts.enabled));
4465
4482
  }
4466
4483
  };
4467
4484
  ;// ./node_modules/@vxe-ui/core/es/src/dom-utils.js
4468
4485
 
4469
4486
 
4487
+ const reClsMap = {};
4488
+ function getClsRE(cls) {
4489
+ if (!reClsMap[cls]) {
4490
+ reClsMap[cls] = new RegExp(`(?:^|\\s)${cls}(?!\\S)`, 'g');
4491
+ }
4492
+ return reClsMap[cls];
4493
+ }
4494
+ /**
4495
+ * 判断元素是否包含 class
4496
+ */
4497
+ function hasClass(elem, cls) {
4498
+ if (elem) {
4499
+ if (elem.classList) {
4500
+ return elem.classList.contains(cls);
4501
+ }
4502
+ return !!(elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
4503
+ }
4504
+ return false;
4505
+ }
4506
+ /**
4507
+ * 给元素删除 class
4508
+ */
4509
+ function removeClass(elem, cls) {
4510
+ if (elem && hasClass(elem, cls)) {
4511
+ elem.className = elem.className.replace(getClsRE(cls), '');
4512
+ }
4513
+ }
4470
4514
  const domUtils = {
4515
+ /**
4516
+ * 判断是否像素px单位 '100px' | 100
4517
+ */
4518
+ isPx(val) {
4519
+ return val && /^\d+(\.\d+)?(px)?$/.test(val);
4520
+ },
4521
+ /**
4522
+ * 判断是否百分比%单位 '100%'
4523
+ */
4524
+ isScale(val) {
4525
+ return val && /^\d+(\.\d+)?%$/.test(val);
4526
+ },
4527
+ /**
4528
+ * 判断元素是否包含 class
4529
+ */
4530
+ hasClass,
4531
+ /**
4532
+ * 给元素删除 class
4533
+ */
4534
+ removeClass,
4535
+ /**
4536
+ * 给元素增加 class
4537
+ */
4538
+ addClass(elem, cls) {
4539
+ if (elem && !hasClass(elem, cls)) {
4540
+ removeClass(elem, cls);
4541
+ elem.className = elem.className + ' ' + cls;
4542
+ }
4543
+ },
4471
4544
  /**
4472
4545
  * 生成 className
4473
4546
  */
@@ -4744,17 +4817,35 @@ const hooks = new store();
4744
4817
  ;// ./node_modules/@vxe-ui/core/es/src/useFns.js
4745
4818
 
4746
4819
 
4820
+
4747
4821
  function useSize(props) {
4748
4822
  // 组件尺寸上下文
4749
4823
  const xeSizeInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('xeSizeInfo', null);
4750
4824
  const computeSize = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
4751
- return props.size || (xeSizeInfo ? xeSizeInfo.value : null);
4825
+ const {
4826
+ size
4827
+ } = props;
4828
+ return size || (xeSizeInfo ? xeSizeInfo.value : null);
4752
4829
  });
4753
4830
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('xeSizeInfo', computeSize);
4754
4831
  return {
4755
4832
  computeSize
4756
4833
  };
4757
4834
  }
4835
+ function useVScrollbar(props) {
4836
+ // 组件虚拟滚动条
4837
+ const xeScrollbarInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('xeScrollbarInfo', null);
4838
+ const computeIsVScrollbar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
4839
+ const {
4840
+ useScrollbar
4841
+ } = props;
4842
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(useScrollbar) ? useScrollbar : xeScrollbarInfo ? xeScrollbarInfo.value : null;
4843
+ });
4844
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('xeScrollbarInfo', computeIsVScrollbar);
4845
+ return {
4846
+ computeIsVScrollbar
4847
+ };
4848
+ }
4758
4849
  function usePermission(props) {
4759
4850
  const computePermissionInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
4760
4851
  return handleCheckInfo(props.permissionCode, props.permissionMethod);
@@ -4765,6 +4856,7 @@ function usePermission(props) {
4765
4856
  }
4766
4857
  const useFns = {
4767
4858
  useSize,
4859
+ useVScrollbar,
4768
4860
  usePermission
4769
4861
  };
4770
4862
  ;// ./node_modules/@vxe-ui/core/es/index.esm.js
@@ -5010,7 +5102,7 @@ function checkDynamic() {
5010
5102
  const {
5011
5103
  log: log_log
5012
5104
  } = VxeUI;
5013
- const uiVersion = `ui v${"4.20.7"}`;
5105
+ const uiVersion = `ui v${"4.20.9"}`;
5014
5106
  function createComponentLog(name) {
5015
5107
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
5016
5108
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -5028,7 +5120,7 @@ const errLog = log_log.create('error', uiVersion);
5028
5120
 
5029
5121
 
5030
5122
 
5031
- const ui_version = "4.20.7";
5123
+ const ui_version = "4.20.9";
5032
5124
  VxeUI.uiVersion = ui_version;
5033
5125
  VxeUI.dynamicApp = dynamicApp;
5034
5126
  function config(options) {
@@ -6826,12 +6918,12 @@ function getTpImg() {
6826
6918
  function getPropClass(property, params) {
6827
6919
  return property ? (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(property) ? property(params) : property) || '' : '';
6828
6920
  }
6829
- const reClsMap = {};
6830
- function getClsRE(cls) {
6831
- if (!reClsMap[cls]) {
6832
- reClsMap[cls] = new RegExp(`(?:^|\\s)${cls}(?!\\S)`, 'g');
6921
+ const dom_reClsMap = {};
6922
+ function dom_getClsRE(cls) {
6923
+ if (!dom_reClsMap[cls]) {
6924
+ dom_reClsMap[cls] = new RegExp(`(?:^|\\s)${cls}(?!\\S)`, 'g');
6833
6925
  }
6834
- return reClsMap[cls];
6926
+ return dom_reClsMap[cls];
6835
6927
  }
6836
6928
  function getNodeOffset(elem, container, rest) {
6837
6929
  if (elem) {
@@ -6854,23 +6946,23 @@ function isPx(val) {
6854
6946
  function isScale(val) {
6855
6947
  return val && /^\d+(\.\d+)?%$/.test(val);
6856
6948
  }
6857
- function hasClass(elem, cls) {
6949
+ function dom_hasClass(elem, cls) {
6858
6950
  if (elem) {
6859
6951
  if (elem.classList) {
6860
6952
  return elem.classList.contains(cls);
6861
6953
  }
6862
- return !!(elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
6954
+ return !!(elem.className && elem.className.match && elem.className.match(dom_getClsRE(cls)));
6863
6955
  }
6864
6956
  return false;
6865
6957
  }
6866
- function removeClass(elem, cls) {
6867
- if (elem && hasClass(elem, cls)) {
6868
- elem.className = elem.className.replace(getClsRE(cls), '');
6958
+ function dom_removeClass(elem, cls) {
6959
+ if (elem && dom_hasClass(elem, cls)) {
6960
+ elem.className = elem.className.replace(dom_getClsRE(cls), '');
6869
6961
  }
6870
6962
  }
6871
6963
  function addClass(elem, cls) {
6872
- if (elem && !hasClass(elem, cls)) {
6873
- removeClass(elem, cls);
6964
+ if (elem && !dom_hasClass(elem, cls)) {
6965
+ dom_removeClass(elem, cls);
6874
6966
  elem.className = `${elem.className} ${cls}`;
6875
6967
  }
6876
6968
  }
@@ -6900,7 +6992,7 @@ function getEventTargetNode(evnt, container, queryCls, queryMethod) {
6900
6992
  let targetElem;
6901
6993
  let target = evnt.target.shadowRoot && evnt.composed ? evnt.composedPath()[0] || evnt.target : evnt.target;
6902
6994
  while (target && target.nodeType && target !== document) {
6903
- if (queryCls && hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {
6995
+ if (queryCls && dom_hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {
6904
6996
  targetElem = target;
6905
6997
  } else if (target === container) {
6906
6998
  return {
@@ -7994,10 +8086,18 @@ function createInternalData() {
7994
8086
  type: String,
7995
8087
  default: () => scrollbar_getConfig().scrollbar.viewInnerClassName
7996
8088
  },
8089
+ /**
8090
+ * 已废弃
8091
+ * @deprecated
8092
+ */
7997
8093
  autoResize: {
7998
8094
  type: Boolean,
7999
8095
  default: () => scrollbar_getConfig().scrollbar.autoResize
8000
8096
  },
8097
+ /**
8098
+ * 已废弃
8099
+ * @deprecated
8100
+ */
8001
8101
  syncResize: [Boolean, String, Number]
8002
8102
  },
8003
8103
  emits: ['scroll', 'scroll-boundary'],
@@ -8788,7 +8888,10 @@ function tooltip_createInternalData() {
8788
8888
  const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
8789
8889
  const {
8790
8890
  computeSize
8791
- } = useSize(props);
8891
+ } = useFns.useSize(props);
8892
+ const {
8893
+ computeIsVScrollbar
8894
+ } = useFns.useVScrollbar(props);
8792
8895
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(tooltip_createReactData());
8793
8896
  const internalData = tooltip_createInternalData();
8794
8897
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -9013,7 +9116,7 @@ function tooltip_createInternalData() {
9013
9116
  } = reactData;
9014
9117
  const panelElem = refElem.value;
9015
9118
  if (!targetElem || !panelElem) {
9016
- return;
9119
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
9017
9120
  }
9018
9121
  const targetRect = targetElem.getBoundingClientRect();
9019
9122
  const targetWidth = targetElem.offsetWidth;
@@ -9049,6 +9152,7 @@ function tooltip_createInternalData() {
9049
9152
  tipStore.placement = ppObj.placement;
9050
9153
  tipStore.style = panelStyle;
9051
9154
  tipStore.arrowStyle.left = ppObj.arrowLeft ? `${ppObj.arrowLeft}px` : '';
9155
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
9052
9156
  };
9053
9157
  const tooltipMethods = {
9054
9158
  dispatchEvent,
@@ -9075,8 +9179,13 @@ function tooltip_createInternalData() {
9075
9179
  return handleVisible(target, content);
9076
9180
  },
9077
9181
  updatePlacement() {
9078
- updateTipStyle();
9079
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(updateTipStyle);
9182
+ return updateTipStyle().then(() => {
9183
+ return updateTipStyle();
9184
+ }).then(() => {
9185
+ setTimeout(() => {
9186
+ updateTipStyle();
9187
+ }, 15);
9188
+ });
9080
9189
  },
9081
9190
  isActived() {
9082
9191
  return reactData.tipActive;
@@ -9102,7 +9211,6 @@ function tooltip_createInternalData() {
9102
9211
  Object.assign($xeTooltip, tooltipMethods, tooltipPrivateMethods);
9103
9212
  const renderContent = () => {
9104
9213
  const {
9105
- useScrollbar,
9106
9214
  theme,
9107
9215
  useHtml,
9108
9216
  useHTML
@@ -9110,6 +9218,7 @@ function tooltip_createInternalData() {
9110
9218
  const {
9111
9219
  tipContent
9112
9220
  } = reactData;
9221
+ const isVScrollbar = computeIsVScrollbar.value;
9113
9222
  const wrapperStyle = computeWrapperStyle.value;
9114
9223
  const contentSlot = slots.content;
9115
9224
  const contVNs = [];
@@ -9127,7 +9236,7 @@ function tooltip_createInternalData() {
9127
9236
  key: 'cd'
9128
9237
  }, `${tipContent}`));
9129
9238
  }
9130
- if (useScrollbar) {
9239
+ if (isVScrollbar) {
9131
9240
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
9132
9241
  key: 5,
9133
9242
  ref: contentScrollbar,
@@ -12757,7 +12866,10 @@ const Calendar = VxeCalendar;
12757
12866
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12758
12867
  const {
12759
12868
  computeSize
12760
- } = useSize(props);
12869
+ } = useFns.useSize(props);
12870
+ const {
12871
+ computeIsVScrollbar
12872
+ } = useFns.useVScrollbar(props);
12761
12873
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({});
12762
12874
  const refMaps = {
12763
12875
  refElem
@@ -12820,8 +12932,7 @@ const Calendar = VxeCalendar;
12820
12932
  shadow,
12821
12933
  padding,
12822
12934
  loading,
12823
- showTitleOverflow,
12824
- useScrollbar
12935
+ showTitleOverflow
12825
12936
  } = props;
12826
12937
  const defaultSlot = slots.default;
12827
12938
  const headerSlot = slots.header;
@@ -12831,6 +12942,7 @@ const Calendar = VxeCalendar;
12831
12942
  const leftSlot = slots.left;
12832
12943
  const rightSlot = slots.right;
12833
12944
  const vSize = computeSize.value;
12945
+ const isVScrollbar = computeIsVScrollbar.value;
12834
12946
  const cardStyle = computeCardStyle.value;
12835
12947
  const scrollbarOpts = computeScrollbarOpts.value;
12836
12948
  const scrollbarProps = computeScrollbarProps.value;
@@ -12857,7 +12969,7 @@ const Calendar = VxeCalendar;
12857
12969
  class: 'vxe-card--header-extra'
12858
12970
  }, vn_getSlotVNs(extraSlot({}))) : renderEmptyElement($xeCard)]) : renderEmptyElement($xeCard), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12859
12971
  class: 'vxe-card--body'
12860
- }, [leftSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12972
+ }, [leftSlot ? isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12861
12973
  class: 'vxe-card--body-scrollbar-left',
12862
12974
  ...scrollbarProps,
12863
12975
  viewClassName: 'vxe-card--body-scrollbar-left-view',
@@ -12866,7 +12978,7 @@ const Calendar = VxeCalendar;
12866
12978
  default: () => vn_getSlotVNs(leftSlot({}))
12867
12979
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12868
12980
  class: 'vxe-card--body-left'
12869
- }, vn_getSlotVNs(leftSlot({}))) : renderEmptyElement($xeCard), useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12981
+ }, vn_getSlotVNs(leftSlot({}))) : renderEmptyElement($xeCard), isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12870
12982
  class: 'vxe-card--body-scrollbar-content',
12871
12983
  ...scrollbarProps,
12872
12984
  viewClassName: 'vxe-card--body-scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
@@ -12875,7 +12987,7 @@ const Calendar = VxeCalendar;
12875
12987
  default: () => defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []
12876
12988
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12877
12989
  class: 'vxe-card--body-content'
12878
- }, defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []), rightSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12990
+ }, defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []), rightSlot ? isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12879
12991
  class: 'vxe-card--body-scrollbar-right',
12880
12992
  ...scrollbarProps,
12881
12993
  viewClassName: 'vxe-card--body-scrollbar-right-view',
@@ -13485,7 +13597,7 @@ function moveRowAnimateToTb(elemList, offsetTop) {
13485
13597
  function clearRowAnimate(elem, clss) {
13486
13598
  setTimeout(() => {
13487
13599
  if (elem) {
13488
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elem.querySelectorAll(clss.map(cls => `${cls}.${rowMoveCls}`).join(',')), elem => removeClass(elem, rowMoveCls));
13600
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elem.querySelectorAll(clss.map(cls => `${cls}.${rowMoveCls}`).join(',')), elem => dom_removeClass(elem, rowMoveCls));
13489
13601
  }
13490
13602
  }, 500);
13491
13603
  }
@@ -13542,6 +13654,7 @@ const {
13542
13654
  getI18n: list_getI18n,
13543
13655
  domUtils: list_domUtils,
13544
13656
  scrollbarUtils: list_scrollbarUtils,
13657
+ useFns: list_useFns,
13545
13658
  menus: list_menus,
13546
13659
  globalEvents: list_globalEvents,
13547
13660
  globalResize: list_globalResize
@@ -13677,7 +13790,10 @@ let crossListDragRowObj = null;
13677
13790
  const browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
13678
13791
  const {
13679
13792
  computeSize
13680
- } = useSize(props);
13793
+ } = list_useFns.useSize(props);
13794
+ const {
13795
+ computeIsVScrollbar
13796
+ } = list_useFns.useVScrollbar(props);
13681
13797
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(list_createReactData());
13682
13798
  const internalData = list_createInternalData();
13683
13799
  const crossListDragRowInfo = getCrossListDragRowInfo();
@@ -13685,6 +13801,7 @@ let crossListDragRowObj = null;
13685
13801
  const refHeaderElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13686
13802
  const refFooterElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13687
13803
  const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13804
+ const refVirtualSpaceElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13688
13805
  const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13689
13806
  const refTrackXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13690
13807
  const refTrackYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -14024,7 +14141,6 @@ let crossListDragRowObj = null;
14024
14141
  lastScrollLeft,
14025
14142
  lastScrollTop
14026
14143
  } = internalData;
14027
- updateScrollbar();
14028
14144
  return clearScroll().then(() => {
14029
14145
  if (lastScrollLeft || lastScrollTop) {
14030
14146
  internalData.lastScrollLeft = 0;
@@ -14034,8 +14150,14 @@ let crossListDragRowObj = null;
14034
14150
  });
14035
14151
  };
14036
14152
  const updateScrollbar = () => {
14037
- updateThumbSize();
14038
- updateThumbOffset();
14153
+ const isVScrollbar = computeIsVScrollbar.value;
14154
+ if (isVScrollbar) {
14155
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
14156
+ updateThumbSize();
14157
+ updateThumbOffset();
14158
+ });
14159
+ }
14160
+ return Promise.resolve();
14039
14161
  };
14040
14162
  /**
14041
14163
  * 重新计算列表
@@ -14046,7 +14168,7 @@ let crossListDragRowObj = null;
14046
14168
  let parentEl = el.parentElement;
14047
14169
  let parentHeight = 0;
14048
14170
  // 如果是虚拟滚动条
14049
- if (parentEl && hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
14171
+ if (parentEl && dom_hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
14050
14172
  parentEl = parentEl.parentElement;
14051
14173
  }
14052
14174
  if (parentEl) {
@@ -14054,10 +14176,11 @@ let crossListDragRowObj = null;
14054
14176
  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));
14055
14177
  }
14056
14178
  reactData.parentHeight = parentHeight;
14057
- updateScrollbar();
14058
14179
  updateHeight();
14059
14180
  if (el.clientWidth && el.clientHeight) {
14060
- return computeScrollLoad();
14181
+ return computeScrollLoad().then(() => {
14182
+ updateScrollbar();
14183
+ });
14061
14184
  }
14062
14185
  }
14063
14186
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
@@ -14073,7 +14196,7 @@ let crossListDragRowObj = null;
14073
14196
  offsetSize,
14074
14197
  rowHeight
14075
14198
  } = scrollYStore;
14076
- const scrollBodyElem = evnt.target;
14199
+ const scrollBodyElem = evnt.currentTarget;
14077
14200
  const scrollTop = scrollBodyElem.scrollTop;
14078
14201
  const toVisibleIndex = Math.floor(scrollTop / rowHeight);
14079
14202
  const offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
@@ -14087,7 +14210,7 @@ let crossListDragRowObj = null;
14087
14210
  }
14088
14211
  };
14089
14212
  const scrollEvent = evnt => {
14090
- const scrollBodyElem = evnt.target;
14213
+ const scrollBodyElem = evnt.currentTarget;
14091
14214
  const scrollTop = scrollBodyElem.scrollTop;
14092
14215
  const scrollLeft = scrollBodyElem.scrollLeft;
14093
14216
  const isX = scrollLeft !== internalData.lastScrollLeft;
@@ -14228,7 +14351,7 @@ let crossListDragRowObj = null;
14228
14351
  const clss = 'row--drag-origin';
14229
14352
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`), elem => {
14230
14353
  elem.draggable = false;
14231
- removeClass(elem, clss);
14354
+ dom_removeClass(elem, clss);
14232
14355
  });
14233
14356
  }
14234
14357
  };
@@ -15599,6 +15722,28 @@ let crossListDragRowObj = null;
15599
15722
  hideDropTip();
15600
15723
  }
15601
15724
  };
15725
+ const bindScrollbarResize = () => {
15726
+ const {
15727
+ scrollObserver
15728
+ } = internalData;
15729
+ const isVScrollbar = computeIsVScrollbar.value;
15730
+ if (isVScrollbar) {
15731
+ if (!scrollObserver) {
15732
+ const el = refElem.value;
15733
+ const viewInnerEl = refVirtualSpaceElem.value;
15734
+ const scrollObserver = list_globalResize.create(() => {
15735
+ reScrollFlag.value++;
15736
+ });
15737
+ if (el) {
15738
+ scrollObserver.observe(el);
15739
+ }
15740
+ if (viewInnerEl) {
15741
+ scrollObserver.observe(viewInnerEl);
15742
+ }
15743
+ internalData.scrollObserver = scrollObserver;
15744
+ }
15745
+ }
15746
+ };
15602
15747
  const updateThumbSize = () => {
15603
15748
  const viewEl = refVirtualWrapper.value;
15604
15749
  if (!viewEl) {
@@ -16010,8 +16155,7 @@ let crossListDragRowObj = null;
16010
16155
  const {
16011
16156
  showCheckbox,
16012
16157
  className,
16013
- loading,
16014
- useScrollbar
16158
+ loading
16015
16159
  } = props;
16016
16160
  const {
16017
16161
  bodyHeight,
@@ -16026,6 +16170,7 @@ let crossListDragRowObj = null;
16026
16170
  const headerSlot = slots.header;
16027
16171
  const footerSlot = slots.footer;
16028
16172
  const vSize = computeSize.value;
16173
+ const isVScrollbar = computeIsVScrollbar.value;
16029
16174
  const wrapperStyles = computeWrapperStyles.value;
16030
16175
  const virtualStyles = computeVirtualStyles.value;
16031
16176
  const radioOpts = computeRadioOpts.value;
@@ -16060,14 +16205,14 @@ let crossListDragRowObj = null;
16060
16205
  }
16061
16206
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16062
16207
  ref: refElem,
16063
- class: ['vxe-list', useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
16208
+ class: ['vxe-list', isVScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', isVScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
16064
16209
  $list: $xeList
16065
16210
  }) : className : '', {
16066
16211
  [`size--${vSize}`]: vSize,
16067
- 'is--virtual-scrollbar': useScrollbar,
16068
- 'ov-padding': useScrollbar && scrollbarOpts.padding,
16069
- 'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
16070
- 'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
16212
+ 'is--virtual-scrollbar': isVScrollbar,
16213
+ 'ov-padding': isVScrollbar && scrollbarOpts.padding,
16214
+ 'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
16215
+ 'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
16071
16216
  'overflow-y': yThumbHeight,
16072
16217
  'overflow-x': xThumbWidth,
16073
16218
  'is--drag': isDrag,
@@ -16101,6 +16246,7 @@ let crossListDragRowObj = null;
16101
16246
  style: virtualStyles,
16102
16247
  onScroll: scrollEvent
16103
16248
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16249
+ ref: refVirtualSpaceElem,
16104
16250
  class: 'vxe-list--y-space',
16105
16251
  style: {
16106
16252
  height: bodyHeight ? `${bodyHeight}px` : ''
@@ -16130,7 +16276,7 @@ let crossListDragRowObj = null;
16130
16276
  /**
16131
16277
  * 滚动条
16132
16278
  */
16133
- useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16279
+ isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16134
16280
  class: scrollbarWrapperClss
16135
16281
  }, [scrollXVisible === false ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16136
16282
  ref: refTrackXElem,
@@ -16179,43 +16325,54 @@ let crossListDragRowObj = null;
16179
16325
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag, () => {
16180
16326
  loadData(props.data || []);
16181
16327
  });
16182
- const reFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
16328
+ const reScrollFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
16329
+ const reLayoutFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
16183
16330
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
16184
- reFlag.value++;
16331
+ reLayoutFlag.value++;
16185
16332
  });
16186
16333
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
16187
- reFlag.value++;
16334
+ reLayoutFlag.value++;
16188
16335
  });
16189
16336
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, () => {
16190
- reFlag.value++;
16337
+ reLayoutFlag.value++;
16191
16338
  });
16192
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.useScrollbar, () => {
16193
- reFlag.value++;
16339
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeIsVScrollbar, () => {
16340
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16341
+ bindScrollbarResize();
16342
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16343
+ reLayoutFlag.value++;
16344
+ });
16345
+ });
16194
16346
  });
16195
16347
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeRowHeight, () => {
16196
- reFlag.value++;
16348
+ reLayoutFlag.value++;
16197
16349
  });
16198
16350
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYWidth, () => {
16199
- reFlag.value++;
16351
+ reLayoutFlag.value++;
16200
16352
  });
16201
16353
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXHeight, () => {
16202
- reFlag.value++;
16354
+ reLayoutFlag.value++;
16203
16355
  });
16204
16356
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXVisible, () => {
16205
16357
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16206
- reFlag.value++;
16358
+ reLayoutFlag.value++;
16207
16359
  });
16208
16360
  });
16209
16361
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYVisible, () => {
16210
16362
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16211
- reFlag.value++;
16363
+ reLayoutFlag.value++;
16212
16364
  });
16213
16365
  });
16214
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
16366
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reLayoutFlag, () => {
16215
16367
  recalculate().then(() => {
16216
16368
  recalculate();
16217
16369
  });
16218
16370
  });
16371
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reScrollFlag, () => {
16372
+ updateScrollbar().then(() => {
16373
+ updateScrollbar();
16374
+ });
16375
+ });
16219
16376
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkRowKey, () => {
16220
16377
  updateRadioModeValue();
16221
16378
  });
@@ -16242,8 +16399,7 @@ let crossListDragRowObj = null;
16242
16399
  showSeq,
16243
16400
  showRadio,
16244
16401
  showCheckbox,
16245
- autoResize,
16246
- useScrollbar
16402
+ autoResize
16247
16403
  } = props;
16248
16404
  const rowOpts = computeRowOpts.value;
16249
16405
  const {
@@ -16268,25 +16424,12 @@ let crossListDragRowObj = null;
16268
16424
  if (useKey && !keyField) {
16269
16425
  list_errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
16270
16426
  }
16271
- const el = refElem.value;
16272
- if (useScrollbar) {
16273
- const viewInnerEl = refVirtualBody.value;
16274
- const scrollObserver = list_globalResize.create(() => {
16275
- reFlag.value++;
16276
- });
16277
- if (el) {
16278
- scrollObserver.observe(el);
16279
- }
16280
- if (viewInnerEl) {
16281
- scrollObserver.observe(viewInnerEl);
16282
- }
16283
- internalData.scrollObserver = scrollObserver;
16284
- }
16285
16427
  if (autoResize) {
16428
+ const el = refElem.value;
16286
16429
  const parentEl = getParentElem();
16287
16430
  const resizeObserver = list_globalResize.create(() => {
16288
16431
  if (props.autoResize) {
16289
- reFlag.value++;
16432
+ reLayoutFlag.value++;
16290
16433
  }
16291
16434
  });
16292
16435
  if (el) {
@@ -16297,9 +16440,10 @@ let crossListDragRowObj = null;
16297
16440
  }
16298
16441
  internalData.resizeObserver = resizeObserver;
16299
16442
  }
16300
- reFlag.value++;
16443
+ reLayoutFlag.value++;
16444
+ bindScrollbarResize();
16301
16445
  list_globalEvents.on($xeList, 'resize', () => {
16302
- reFlag.value++;
16446
+ reLayoutFlag.value++;
16303
16447
  });
16304
16448
  });
16305
16449
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
@@ -17780,7 +17924,7 @@ const {
17780
17924
  const numberMousedownEvent = evnt => {
17781
17925
  numberStopDown();
17782
17926
  if (evnt.button === 0) {
17783
- const isPrevNumber = hasClass(evnt.currentTarget, 'is--prev');
17927
+ const isPrevNumber = dom_hasClass(evnt.currentTarget, 'is--prev');
17784
17928
  if (isPrevNumber) {
17785
17929
  numberPrevEvent(evnt);
17786
17930
  } else {
@@ -24004,7 +24148,7 @@ const {
24004
24148
  internalData.isMouseDown = false;
24005
24149
  } else {
24006
24150
  numberStopAll();
24007
- const isAddNumber = hasClass(evnt.currentTarget, 'is--plus');
24151
+ const isAddNumber = dom_hasClass(evnt.currentTarget, 'is--plus');
24008
24152
  if (isAddNumber) {
24009
24153
  numberPlusEvent(evnt);
24010
24154
  } else {
@@ -24016,7 +24160,7 @@ const {
24016
24160
  numberStopAll();
24017
24161
  internalData.isMouseDown = true;
24018
24162
  if (evnt.button === 0) {
24019
- const isAddNumber = hasClass(evnt.currentTarget, 'is--plus');
24163
+ const isAddNumber = dom_hasClass(evnt.currentTarget, 'is--plus');
24020
24164
  if (isAddNumber) {
24021
24165
  numberPlusEvent(evnt);
24022
24166
  } else {
@@ -32473,7 +32617,10 @@ const allActiveDrawers = [];
32473
32617
  const $xeForm = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeForm', null);
32474
32618
  const {
32475
32619
  computeSize
32476
- } = useSize(props);
32620
+ } = useFns.useSize(props);
32621
+ const {
32622
+ computeIsVScrollbar
32623
+ } = useFns.useVScrollbar(props);
32477
32624
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
32478
32625
  const refDrawerBox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
32479
32626
  const refConfirmBtn = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -32882,16 +33029,16 @@ const allActiveDrawers = [];
32882
33029
  const {
32883
33030
  slots: propSlots = {},
32884
33031
  content,
32885
- useScrollbar,
32886
33032
  useHtml
32887
33033
  } = props;
33034
+ const isVScrollbar = computeIsVScrollbar.value;
32888
33035
  const scrollbarProps = computeScrollbarProps.value;
32889
33036
  const defaultSlot = slots.default || propSlots.default;
32890
33037
  const leftSlot = slots.left || propSlots.left;
32891
33038
  const rightSlot = slots.right || propSlots.right;
32892
33039
  const contVNs = [];
32893
33040
  if (useHtml && !defaultSlot) {
32894
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
33041
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
32895
33042
  key: 'shc',
32896
33043
  class: 'vxe-drawer--scrollbar-content',
32897
33044
  ...scrollbarProps
@@ -32908,7 +33055,7 @@ const allActiveDrawers = [];
32908
33055
  innerHTML: getFuncText(content)
32909
33056
  }));
32910
33057
  } else {
32911
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
33058
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
32912
33059
  key: 'sdc',
32913
33060
  class: 'vxe-drawer--scrollbar-content',
32914
33061
  ...scrollbarProps
@@ -37156,7 +37303,7 @@ const IconPicker = VxeIconPicker;
37156
37303
  const imagePreviewPrivateMethods = {};
37157
37304
  const resetStyle = () => {
37158
37305
  const elem = refElem.value;
37159
- removeClass(elem, 'is--move');
37306
+ dom_removeClass(elem, 'is--move');
37160
37307
  Object.assign(reactData, {
37161
37308
  offsetPct11: false,
37162
37309
  offsetScale: 0,
@@ -37408,7 +37555,7 @@ const IconPicker = VxeIconPicker;
37408
37555
  document.onmouseup = () => {
37409
37556
  document.onmousemove = domMousemove;
37410
37557
  document.onmouseup = domMouseup;
37411
- removeClass(elem, 'is--move');
37558
+ dom_removeClass(elem, 'is--move');
37412
37559
  };
37413
37560
  };
37414
37561
  const handleGlobalKeydownEvent = evnt => {
@@ -37589,7 +37736,7 @@ const IconPicker = VxeIconPicker;
37589
37736
  const elem = refElem.value;
37590
37737
  if (elem) {
37591
37738
  elem.removeEventListener('wheel', wheelEvent);
37592
- removeClass(elem, 'is--move');
37739
+ dom_removeClass(elem, 'is--move');
37593
37740
  }
37594
37741
  });
37595
37742
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
@@ -38193,7 +38340,10 @@ const ImagePreview = VxeImagePreview;
38193
38340
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38194
38341
  const {
38195
38342
  computeSize
38196
- } = useSize(props);
38343
+ } = useFns.useSize(props);
38344
+ const {
38345
+ computeIsVScrollbar
38346
+ } = useFns.useVScrollbar(props);
38197
38347
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({});
38198
38348
  const refMaps = {
38199
38349
  refElem
@@ -38244,11 +38394,11 @@ const ImagePreview = VxeImagePreview;
38244
38394
  const {
38245
38395
  collapsed,
38246
38396
  loading,
38247
- padding,
38248
- useScrollbar
38397
+ padding
38249
38398
  } = props;
38250
38399
  const varStyle = computeVarStyle.value;
38251
38400
  const vSize = computeSize.value;
38401
+ const isVScrollbar = computeIsVScrollbar.value;
38252
38402
  const collapseOpts = computeCollapseOpts.value;
38253
38403
  const scrollbarOpts = computeScrollbarOpts.value;
38254
38404
  const {
@@ -38267,7 +38417,7 @@ const ImagePreview = VxeImagePreview;
38267
38417
  'is--loading': loading
38268
38418
  }],
38269
38419
  style: varStyle
38270
- }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
38420
+ }, [isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
38271
38421
  width: scrollbarOpts.width,
38272
38422
  height: scrollbarOpts.height,
38273
38423
  autoHide: scrollbarOpts.autoHide,
@@ -38360,7 +38510,10 @@ function layout_body_createReactData() {
38360
38510
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38361
38511
  const {
38362
38512
  computeSize
38363
- } = useSize(props);
38513
+ } = useFns.useSize(props);
38514
+ const {
38515
+ computeIsVScrollbar
38516
+ } = useFns.useVScrollbar(props);
38364
38517
  const internalData = layout_body_createInternalData();
38365
38518
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(layout_body_createReactData());
38366
38519
  const refMaps = {
@@ -38426,9 +38579,9 @@ function layout_body_createReactData() {
38426
38579
  const {
38427
38580
  loading,
38428
38581
  padding,
38429
- showBacktop,
38430
- useScrollbar
38582
+ showBacktop
38431
38583
  } = props;
38584
+ const isVScrollbar = computeIsVScrollbar.value;
38432
38585
  const backtopOpts = computeBacktopOpts.value;
38433
38586
  const scrollbarProps = computeScrollbarProps.value;
38434
38587
  const vSize = computeSize.value;
@@ -38453,7 +38606,7 @@ function layout_body_createReactData() {
38453
38606
  'is--loading': loading,
38454
38607
  'is--padding': padding
38455
38608
  }]
38456
- }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, scrollbarProps, {
38609
+ }, [isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, scrollbarProps, {
38457
38610
  default: () => defaultSlot ? defaultSlot({}) : []
38458
38611
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
38459
38612
  id: showBacktop ? backtopId : '',
@@ -38496,13 +38649,25 @@ const LayoutBody = VxeLayoutBody;
38496
38649
 
38497
38650
 
38498
38651
 
38652
+ const {
38653
+ getConfig: layout_container_getConfig,
38654
+ baseUtils: layout_container_baseUtils,
38655
+ createEvent: layout_container_createEvent
38656
+ } = VxeUI;
38657
+ const {
38658
+ getDefVal: layout_container_getDefVal
38659
+ } = layout_container_baseUtils;
38499
38660
  /* harmony default export */ var layout_container = (defineVxeComponent({
38500
38661
  name: 'VxeLayoutContainer',
38501
38662
  props: {
38502
38663
  vertical: Boolean,
38664
+ useScrollbar: {
38665
+ type: Boolean,
38666
+ default: () => layout_container_getDefVal(layout_container_getConfig().layoutContainer.useScrollbar, layout_container_getConfig().useScrollbar)
38667
+ },
38503
38668
  size: {
38504
38669
  type: String,
38505
- default: () => getConfig().layoutContainer.size || getConfig().size
38670
+ default: () => layout_container_getConfig().layoutContainer.size || layout_container_getConfig().size
38506
38671
  }
38507
38672
  },
38508
38673
  emits: [],
@@ -38515,13 +38680,17 @@ const LayoutBody = VxeLayoutBody;
38515
38680
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38516
38681
  const {
38517
38682
  computeSize
38518
- } = useSize(props);
38683
+ } = useFns.useSize(props);
38684
+ const {
38685
+ computeIsVScrollbar
38686
+ } = useFns.useVScrollbar(props);
38519
38687
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({});
38520
38688
  const refMaps = {
38521
38689
  refElem
38522
38690
  };
38523
38691
  const computeMaps = {
38524
- computeSize
38692
+ computeSize,
38693
+ computeIsVScrollbar
38525
38694
  };
38526
38695
  const $xeLayoutContainer = {
38527
38696
  xID,
@@ -38532,7 +38701,7 @@ const LayoutBody = VxeLayoutBody;
38532
38701
  getComputeMaps: () => computeMaps
38533
38702
  };
38534
38703
  const dispatchEvent = (type, params, evnt) => {
38535
- emit(type, createEvent(evnt, {
38704
+ emit(type, layout_container_createEvent(evnt, {
38536
38705
  $layoutContainer: $xeLayoutContainer
38537
38706
  }, params));
38538
38707
  };
@@ -38900,6 +39069,7 @@ const {
38900
39069
  } = createComponentLog('menu');
38901
39070
  const {
38902
39071
  menus: menu_menus,
39072
+ useFns: menu_useFns,
38903
39073
  getConfig: menu_getConfig,
38904
39074
  getIcon: menu_getIcon
38905
39075
  } = VxeUI;
@@ -38981,7 +39151,10 @@ let nemuUniqueKey = 100000000;
38981
39151
  const refCollapseBodyScrollbar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38982
39152
  const {
38983
39153
  computeSize
38984
- } = useSize(props);
39154
+ } = menu_useFns.useSize(props);
39155
+ const {
39156
+ computeIsVScrollbar
39157
+ } = menu_useFns.useVScrollbar(props);
38985
39158
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(menu_createReactData());
38986
39159
  const internalData = menu_createInternalData();
38987
39160
  const refMaps = {
@@ -39610,8 +39783,7 @@ let nemuUniqueKey = 100000000;
39610
39783
  const {
39611
39784
  loading,
39612
39785
  collapseFixed,
39613
- appendTo,
39614
- useScrollbar
39786
+ appendTo
39615
39787
  } = props;
39616
39788
  const {
39617
39789
  initialized,
@@ -39620,6 +39792,7 @@ let nemuUniqueKey = 100000000;
39620
39792
  isEnterCollapse
39621
39793
  } = reactData;
39622
39794
  const vSize = computeSize.value;
39795
+ const isVScrollbar = computeIsVScrollbar.value;
39623
39796
  const isCollapsed = computeIsCollapsed.value;
39624
39797
  const currBorder = computeCurrBorder.value;
39625
39798
  const varStyle = computeVarStyle.value;
@@ -39669,7 +39842,7 @@ let nemuUniqueKey = 100000000;
39669
39842
  ...ons
39670
39843
  }, isCollapsed ? [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
39671
39844
  class: 'vxe-menu--header'
39672
- }, headerSlot(stParams)) : renderEmptyElement($xeMenu), useScrollbar && isEnterCollapse ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
39845
+ }, headerSlot(stParams)) : renderEmptyElement($xeMenu), isVScrollbar && isEnterCollapse ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
39673
39846
  ref: refCollapseBodyScrollbar,
39674
39847
  class: 'vxe-menu--scrollbar-body',
39675
39848
  ...scrollbarOpts,
@@ -40019,7 +40192,10 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
40019
40192
  const $xeForm = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeForm', null);
40020
40193
  const {
40021
40194
  computeSize
40022
- } = useSize(props);
40195
+ } = useFns.useSize(props);
40196
+ const {
40197
+ computeIsVScrollbar
40198
+ } = useFns.useVScrollbar(props);
40023
40199
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(modal_createReactData());
40024
40200
  const internalData = modal_createInternalData();
40025
40201
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -41206,10 +41382,10 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
41206
41382
  status,
41207
41383
  message,
41208
41384
  iconStatus,
41209
- useScrollbar,
41210
41385
  useHtml
41211
41386
  } = props;
41212
41387
  const content = props.content || message;
41388
+ const isVScrollbar = computeIsVScrollbar.value;
41213
41389
  const isMsg = computeIsMsg.value;
41214
41390
  const scrollbarProps = computeScrollbarProps.value;
41215
41391
  const defaultSlot = slots.default || propSlots.default;
@@ -41224,7 +41400,7 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
41224
41400
  })]));
41225
41401
  }
41226
41402
  if (useHtml && !defaultSlot) {
41227
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41403
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41228
41404
  key: 'shc',
41229
41405
  class: 'vxe-modal--scrollbar-content',
41230
41406
  ...scrollbarProps
@@ -41241,7 +41417,7 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
41241
41417
  innerHTML: getFuncText(content)
41242
41418
  }));
41243
41419
  } else {
41244
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41420
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41245
41421
  key: 'sdc',
41246
41422
  class: 'vxe-modal--scrollbar-content',
41247
41423
  ...scrollbarProps
@@ -48346,7 +48522,7 @@ const {
48346
48522
  rsSplitterLineEl.style.display = '';
48347
48523
  }
48348
48524
  handleUpdate();
48349
- removeClass(el, 'is--drag');
48525
+ dom_removeClass(el, 'is--drag');
48350
48526
  dispatchEvent('resize-end', {
48351
48527
  prevItem,
48352
48528
  nextItem,
@@ -51115,7 +51291,10 @@ const scrollbarOffsetSize = 20;
51115
51291
  const $xeParentTabs = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeTabs', null);
51116
51292
  const {
51117
51293
  computeSize
51118
- } = useSize(props);
51294
+ } = useFns.useSize(props);
51295
+ const {
51296
+ computeIsVScrollbar
51297
+ } = useFns.useVScrollbar(props);
51119
51298
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
51120
51299
  const refHeadWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
51121
51300
  const refHeadPrevElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -51278,14 +51457,14 @@ const scrollbarOffsetSize = 20;
51278
51457
  if ((lrPosition ? scrollTop : scrollLeft) > 0) {
51279
51458
  addClass(headPrevEl, 'scrolling--middle');
51280
51459
  } else {
51281
- removeClass(headPrevEl, 'scrolling--middle');
51460
+ dom_removeClass(headPrevEl, 'scrolling--middle');
51282
51461
  }
51283
51462
  }
51284
51463
  if (headNextEl) {
51285
51464
  if (lrPosition ? clientHeight < scrollHeight - Math.ceil(scrollTop) : clientWidth < scrollWidth - Math.ceil(scrollLeft)) {
51286
51465
  addClass(headNextEl, 'scrolling--middle');
51287
51466
  } else {
51288
- removeClass(headNextEl, 'scrolling--middle');
51467
+ dom_removeClass(headNextEl, 'scrolling--middle');
51289
51468
  }
51290
51469
  }
51291
51470
  }
@@ -51892,9 +52071,6 @@ const scrollbarOffsetSize = 20;
51892
52071
  })) : tabs_renderEmptyElement($xeTabs)]);
51893
52072
  };
51894
52073
  const renderTabPane = item => {
51895
- const {
51896
- useScrollbar
51897
- } = props;
51898
52074
  const {
51899
52075
  initNames,
51900
52076
  activeName
@@ -51905,8 +52081,9 @@ const scrollbarOffsetSize = 20;
51905
52081
  } = item;
51906
52082
  const defaultSlot = slots ? slots.default : null;
51907
52083
  const scrollbarProps = computeScrollbarProps.value;
52084
+ const isVScrollbar = computeIsVScrollbar.value;
51908
52085
  if (name && initNames.includes(name)) {
51909
- return useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
52086
+ return isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
51910
52087
  key: `${name}`,
51911
52088
  class: ['vxe-tabs-pane--scrollbar-item', {
51912
52089
  'is--visible': activeName === name
@@ -53831,11 +54008,15 @@ let crossTreeDragNodeObj = null;
53831
54008
  const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
53832
54009
  const {
53833
54010
  computeSize
53834
- } = useSize(props);
54011
+ } = useFns.useSize(props);
54012
+ const {
54013
+ computeIsVScrollbar
54014
+ } = useFns.useVScrollbar(props);
53835
54015
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53836
54016
  const refHeaderWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53837
54017
  const refFooterWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53838
54018
  const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
54019
+ const refVirtualSpaceElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53839
54020
  const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53840
54021
  const refTrackXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53841
54022
  const refTrackYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -54635,8 +54816,14 @@ let crossTreeDragNodeObj = null;
54635
54816
  });
54636
54817
  };
54637
54818
  const updateScrollbar = () => {
54638
- updateThumbSize();
54639
- updateThumbOffset();
54819
+ const isVScrollbar = computeIsVScrollbar.value;
54820
+ if (isVScrollbar) {
54821
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
54822
+ updateThumbSize();
54823
+ updateThumbOffset();
54824
+ });
54825
+ }
54826
+ return Promise.resolve();
54640
54827
  };
54641
54828
  /**
54642
54829
  * 重新计算列表
@@ -54656,18 +54843,18 @@ let crossTreeDragNodeObj = null;
54656
54843
  const headHeight = headerWrapperEl ? headerWrapperEl.clientHeight : 0;
54657
54844
  const footHeight = footerWrapperEl ? footerWrapperEl.clientHeight : 0;
54658
54845
  // 如果是虚拟滚动条
54659
- if (parentEl && hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
54846
+ if (parentEl && dom_hasClass(parentEl, 'vxe-scrollbar--view-inner')) {
54660
54847
  parentEl = parentEl.parentElement;
54661
54848
  }
54662
54849
  if (parentEl) {
54663
54850
  const parentPaddingSize = getPaddingTopBottomSize(parentEl);
54664
54851
  reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
54665
54852
  }
54666
- updateScrollbar();
54667
54853
  updateHeight();
54668
54854
  return computeScrollLoad().then(() => {
54669
54855
  updateHeight();
54670
54856
  updateYSpace();
54857
+ updateScrollbar();
54671
54858
  });
54672
54859
  }
54673
54860
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
@@ -54700,7 +54887,7 @@ let crossTreeDragNodeObj = null;
54700
54887
  }
54701
54888
  };
54702
54889
  const scrollEvent = evnt => {
54703
- const scrollBodyElem = evnt.target;
54890
+ const scrollBodyElem = evnt.currentTarget;
54704
54891
  const scrollTop = scrollBodyElem.scrollTop;
54705
54892
  const scrollLeft = scrollBodyElem.scrollLeft;
54706
54893
  const isX = scrollLeft !== internalData.lastScrollLeft;
@@ -56239,7 +56426,7 @@ let crossTreeDragNodeObj = null;
56239
56426
  const clss = 'node--drag-origin';
56240
56427
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`), elem => {
56241
56428
  elem.draggable = false;
56242
- removeClass(elem, clss);
56429
+ dom_removeClass(elem, clss);
56243
56430
  });
56244
56431
  }
56245
56432
  };
@@ -57043,6 +57230,28 @@ let crossTreeDragNodeObj = null;
57043
57230
  hideDropTip();
57044
57231
  }
57045
57232
  };
57233
+ const bindScrollbarResize = () => {
57234
+ const isVScrollbar = computeIsVScrollbar.value;
57235
+ const {
57236
+ scrollObserver
57237
+ } = internalData;
57238
+ if (isVScrollbar) {
57239
+ if (!scrollObserver) {
57240
+ const el = refElem.value;
57241
+ const viewInnerEl = refVirtualSpaceElem.value;
57242
+ const scrollObserver = globalResize.create(() => {
57243
+ reScrollFlag.value++;
57244
+ });
57245
+ if (el) {
57246
+ scrollObserver.observe(el);
57247
+ }
57248
+ if (viewInnerEl) {
57249
+ scrollObserver.observe(viewInnerEl);
57250
+ }
57251
+ internalData.scrollObserver = scrollObserver;
57252
+ }
57253
+ }
57254
+ };
57046
57255
  const updateThumbSize = () => {
57047
57256
  const viewEl = refVirtualWrapper.value;
57048
57257
  if (!viewEl) {
@@ -57564,8 +57773,7 @@ let crossTreeDragNodeObj = null;
57564
57773
  const {
57565
57774
  loading,
57566
57775
  trigger,
57567
- showLine,
57568
- useScrollbar
57776
+ showLine
57569
57777
  } = props;
57570
57778
  const {
57571
57779
  bodyHeight,
@@ -57576,6 +57784,7 @@ let crossTreeDragNodeObj = null;
57576
57784
  yThumbHeight
57577
57785
  } = reactData;
57578
57786
  const vSize = computeSize.value;
57787
+ const isVScrollbar = computeIsVScrollbar.value;
57579
57788
  const radioOpts = computeRadioOpts.value;
57580
57789
  const checkboxOpts = computeCheckboxOpts.value;
57581
57790
  const loadingOpts = computeLoadingOpts.value;
@@ -57602,13 +57811,13 @@ let crossTreeDragNodeObj = null;
57602
57811
  }
57603
57812
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57604
57813
  ref: refElem,
57605
- class: ['vxe-tree', useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', {
57814
+ class: ['vxe-tree', isVScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', isVScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', {
57606
57815
  [`size--${vSize}`]: vSize,
57607
57816
  'show--line': showLine,
57608
- 'is--virtual-scrollbar': useScrollbar,
57609
- 'ov-padding': useScrollbar && scrollbarOpts.padding,
57610
- 'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
57611
- 'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
57817
+ 'is--virtual-scrollbar': isVScrollbar,
57818
+ 'ov-padding': isVScrollbar && scrollbarOpts.padding,
57819
+ 'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
57820
+ 'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
57612
57821
  'overflow-y': yThumbHeight,
57613
57822
  'overflow-x': xThumbWidth,
57614
57823
  'checkbox--highlight': checkboxOpts.highlight,
@@ -57630,6 +57839,7 @@ let crossTreeDragNodeObj = null;
57630
57839
  style: treeStyle,
57631
57840
  onScroll: scrollEvent
57632
57841
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57842
+ ref: refVirtualSpaceElem,
57633
57843
  class: 'vxe-tree--y-space',
57634
57844
  style: {
57635
57845
  height: bodyHeight ? `${bodyHeight}px` : ''
@@ -57649,7 +57859,7 @@ let crossTreeDragNodeObj = null;
57649
57859
  /**
57650
57860
  * 滚动条
57651
57861
  */
57652
- useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57862
+ isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57653
57863
  class: scrollbarWrapperClss
57654
57864
  }, [scrollXVisible === false ? renderEmptyElement($xeTree) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57655
57865
  ref: refTrackXElem,
@@ -57759,40 +57969,51 @@ let crossTreeDragNodeObj = null;
57759
57969
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.filterValue, () => {
57760
57970
  triggerSearchEvent(new Event('filter'));
57761
57971
  });
57762
- const reFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
57972
+ const reScrollFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
57973
+ const reLayoutFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
57763
57974
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
57764
- reFlag.value++;
57975
+ reLayoutFlag.value++;
57765
57976
  });
57766
57977
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.minHeight, () => {
57767
- reFlag.value++;
57978
+ reLayoutFlag.value++;
57768
57979
  });
57769
57980
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
57770
- reFlag.value++;
57981
+ reLayoutFlag.value++;
57771
57982
  });
57772
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.useScrollbar, () => {
57773
- reFlag.value++;
57983
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeIsVScrollbar, () => {
57984
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57985
+ bindScrollbarResize();
57986
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57987
+ reLayoutFlag.value++;
57988
+ });
57989
+ });
57774
57990
  });
57775
57991
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYWidth, () => {
57776
- reFlag.value++;
57992
+ reLayoutFlag.value++;
57777
57993
  });
57778
57994
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXHeight, () => {
57779
- reFlag.value++;
57995
+ reLayoutFlag.value++;
57780
57996
  });
57781
57997
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXVisible, () => {
57782
57998
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57783
- reFlag.value++;
57999
+ reLayoutFlag.value++;
57784
58000
  });
57785
58001
  });
57786
58002
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYVisible, () => {
57787
58003
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57788
- reFlag.value++;
58004
+ reLayoutFlag.value++;
57789
58005
  });
57790
58006
  });
57791
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
58007
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reLayoutFlag, () => {
57792
58008
  recalculate().then(() => {
57793
58009
  recalculate();
57794
58010
  });
57795
58011
  });
58012
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reScrollFlag, () => {
58013
+ updateScrollbar().then(() => {
58014
+ updateScrollbar();
58015
+ });
58016
+ });
57796
58017
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
57797
58018
  const {
57798
58019
  transform,
@@ -57801,8 +58022,7 @@ let crossTreeDragNodeObj = null;
57801
58022
  showOverflow,
57802
58023
  lazy,
57803
58024
  loadMethod,
57804
- autoResize,
57805
- useScrollbar
58025
+ autoResize
57806
58026
  } = props;
57807
58027
  const dragOpts = computeDragOpts.value;
57808
58028
  if (!showOverflow) {
@@ -57824,25 +58044,12 @@ let crossTreeDragNodeObj = null;
57824
58044
  if (menuConfig && !VxeUIContextMenu) {
57825
58045
  tree_errLog('vxe.error.reqComp', ['vxe-context-menu']);
57826
58046
  }
57827
- const el = refElem.value;
57828
- if (useScrollbar || autoResize) {
57829
- const viewInnerEl = refVirtualBody.value;
57830
- const scrollObserver = globalResize.create(() => {
57831
- updateScrollbar();
57832
- });
57833
- if (el) {
57834
- scrollObserver.observe(el);
57835
- }
57836
- if (viewInnerEl) {
57837
- scrollObserver.observe(viewInnerEl);
57838
- }
57839
- internalData.scrollObserver = scrollObserver;
57840
- }
57841
58047
  if (autoResize) {
58048
+ const el = refElem.value;
57842
58049
  const parentEl = getParentElem();
57843
58050
  const resizeObserver = globalResize.create(() => {
57844
58051
  if (props.autoResize) {
57845
- reFlag.value++;
58052
+ reLayoutFlag.value++;
57846
58053
  }
57847
58054
  });
57848
58055
  if (el) {
@@ -57853,9 +58060,10 @@ let crossTreeDragNodeObj = null;
57853
58060
  }
57854
58061
  internalData.resizeObserver = resizeObserver;
57855
58062
  }
57856
- reFlag.value++;
58063
+ reLayoutFlag.value++;
58064
+ bindScrollbarResize();
57857
58065
  globalEvents.on($xeTree, 'resize', () => {
57858
- reFlag.value++;
58066
+ reLayoutFlag.value++;
57859
58067
  });
57860
58068
  });
57861
58069
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {