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
@@ -32,7 +32,7 @@ var _createComponentLog = (0, _log.createComponentLog)('tabs'),
32
32
  var scrollbarOffsetSize = 20;
33
33
  var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
34
34
  name: 'VxeTabs',
35
- mixins: [_ui.globalMixins.sizeMixin],
35
+ mixins: [_ui.globalMixins.sizeMixin, _ui.globalMixins.vScrollbarMixin],
36
36
  props: {
37
37
  value: [String, Number, Boolean],
38
38
  options: Array,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,a){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0===a)return("string"===t?String:Number)(e);a=a.call(e,t||"default");if("object"!=_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}var baseUtils=_ui.VxeUI.baseUtils,createEvent=_ui.VxeUI.createEvent,getConfig=_ui.VxeUI.getConfig,getIcon=_ui.VxeUI.getIcon,globalEvents=_ui.VxeUI.globalEvents,permission=_ui.VxeUI.permission,renderEmptyElement=_ui.VxeUI.renderEmptyElement,getDefVal=baseUtils.getDefVal,_createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return getConfig().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return getConfig().tabs.type}},position:{type:String,default:function(){return getConfig().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return getConfig().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return getConfig().tabs.size||getConfig().size}},useScrollbar:{type:Boolean,default:function(){return getDefVal(getConfig().tabs.useScrollbar,getConfig().useScrollbar)}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,a=e.lintWidth,n=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(n,"px")}:{left:"".concat(t,"px"),width:"".concat(a,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),a},computeCloseOpts:function(){return Object.assign({},getConfig().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},getConfig().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},getConfig().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,a){this.$emit(e,createEvent(a,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!permission.checkVisible(e))},callSlot:function(e,t,a){var n=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,a)):[]},checkScrolling:function(){var e,t,a,n,i,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,a=r.clientWidth,n=r.clientHeight,i=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?n<r-Math.ceil(t):a<i-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,a,n,i=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===i}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,a=l.offsetHeight,n=l.scrollHeight,m=t-(t=l.clientWidth),h=a-(a=l.clientHeight),c?(b=n!==a,-1<s&&(l=r[s])&&(c=l.clientHeight,n=l.clientWidth,p="card"===o?(u=n,f=c,l.offsetTop):"border-card"===o?(u=n,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(a=r[s])&&(n=a.clientWidth,d="card"===o?(u=n+1,a.offsetLeft):"border-card"===o?(u=n,a.offsetLeft-1):(u=Math.max(4,Math.floor(.6*n)),a.offsetLeft+Math.floor((n-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var a=this.reactData.initNames;return!(!e||a.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),a.push(e),0))},initDefaultName:function(e){var a,n=this,t=n.reactData,i=null,o={};e&&e.length&&(a=!1,i=n.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},i===t&&(a=!0),e)&&n.addInitName(t,null)}),a||(i=e[0].name,n.addInitName(i,null),n.emitModel(i))),t.activeName=i,t.cacheTabMaps=o},clickEvent:function(t,a){var n=this,i=n.reactData,e=n.trigger,o=n.beforeChangeMethod||getConfig().tabs.beforeChangeMethod,r=i.activeName,s=a.name,l=s;n.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:n,name:s,oldName:r,newName:s,option:a})).then(function(e){e?(i.activeName=s,n.emitModel(l),n.addInitName(s,t),n.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:a},t),n.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:a},t)):n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)}).catch(function(){n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)})},handleRefreshTabEvent:function(e,t){var a=this.reactData,e=(e.stopPropagation(),a.activeName),a=a.cacheTabMaps,n=t.name,i=this.computeRefreshOpts.queryMethod,o=n?a["".concat(n)]:null;o&&!o.loading&&(i?(o.loading=!0,Promise.resolve(i({$tabs:this,value:e,name:n,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,a,n){var i=this,o=i,r=i.reactData,r=(t.stopPropagation(),r.activeName),o=i.computeCloseOpts.beforeMethod||o.beforeCloseMethod||getConfig().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=a<n.length-1?n[a+1]:n[a-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:i,value:l,name:s,nextName:c,option:e})).then(function(e){e?i.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,a=r.scrollWidth,n=r.scrollHeight,i=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<n&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+i<a&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<i&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,a=this.computeLrPosition,n=this.$refs.refHeadWrapperElem;n&&(t=n.clientWidth,n=n.clientHeight,a=Math.floor(.75*(a?n:t)),this.startScrollAnimation(e,a))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(a=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,i=r.clientHeight,a=r.children[a])&&(f?(0<(i=(n=a.offsetTop)+a.clientHeight-(o+i))&&(r.scrollTop+=i),n<o&&(r.scrollTop=n)):(0<(o=(i=a.offsetLeft)+a.clientWidth-(e+t))&&(r.scrollLeft+=o),i<e&&(r.scrollLeft=i))),l.updateTabStyle())})},handlePrevNext:function(e){var t,a=this,n=a.reactData,i=n.activeName,o=a.computeTabStaticOptions,o=o.length?o:a.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===i});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,n.activeName=e,a.emitModel(e),a.addInitName(e,null)),a.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,y=h.refreshConfig,x=t.activeName,a=t.scrollbarWidth,n=t.scrollbarHeight,i=t.isTabOver,_=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:x},p)):renderEmptyElement(h),i?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_TOP:getIcon().TABS_TAB_BUTTON_LEFT})]):renderEmptyElement(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(a+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(n+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,a){var e=t.title,n=t.icon,i=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:x,name:i,option:t},f=x===i,d=i?_["".concat(i)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(i),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[n?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:n})]):renderEmptyElement(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:i,title:e},p)):renderEmptyElement(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:i,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:i,title:e},p)):renderEmptyElement(h)]),!(0,_utils.isEnableConf)(y)&&!O.enabled||P&&!P(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?getIcon().TABS_TAB_REFRESH_LOADING:getIcon().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,a,m)}}},[p("i",{class:getIcon().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),i?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_BOTTOM:getIcon().TABS_TAB_BUTTON_RIGHT})]):renderEmptyElement(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:x},p)):renderEmptyElement(h)])},renderTabPane:function(e,t){var a=this,n=a.reactData,i=a.useScrollbar,o=n.initNames,n=n.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=a.computeScrollbarProps;return r&&o.includes(r)?i?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":n===r}],props:t,scopedSlots:{default:function(){return s?a.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":n===r}]},s?a.callSlot(s,{name:r},e):[]):renderEmptyElement(a)},renderTabContent:function(t,e){var a=this,n=a.reactData,i=a.destroyOnClose,o=n.activeName;return i?[(n=e.find(function(e){return e.name===o}))?a.renderTabPane(t,n):renderEmptyElement(a)]:e.map(function(e){return a.renderTabPane(t,e)})},rendetTabBody:function(e,t){var a=this,n=a.$scopedSlots,i=a.reactData,o=a.height,r=a.padding,s=a.showBody,l=i.activeName,c=a.computeSize,u=a.computeTabType,f=a.computeTabPosition,d=a.computeRefreshOpts.showLoading,p=n.header,n=n.footer;return s?(i=!!(i=l?i.cacheTabMaps["".concat(l)]:null)&&i.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},a.callSlot(p,l,e)):renderEmptyElement(a),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},a.renderTabContent(e,t)),n?e("div",{class:"vxe-tabs-pane--footer"},a.callSlot(n,l,e)):renderEmptyElement(a),d&&i?renderEmptyElement(a):e(_loading.default,{class:"vxe-tabs--loading",props:{value:i}})])):renderEmptyElement(a)},renderVN:function(e){var t=this,a=t.$scopedSlots,n=t.height,i=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,a=a.default,f=a?t.computeTabStaticOptions:t.computeTabOptions,a=[e("div",{key:"ts",class:"vxe-tabs-slots"},a?a({name:r}):[])];return"right"===c||"bottom"===c?a.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):a.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",i),"is--height",n)],style:u},a)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,a){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0===a)return("string"===t?String:Number)(e);a=a.call(e,t||"default");if("object"!=_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}var baseUtils=_ui.VxeUI.baseUtils,createEvent=_ui.VxeUI.createEvent,getConfig=_ui.VxeUI.getConfig,getIcon=_ui.VxeUI.getIcon,globalEvents=_ui.VxeUI.globalEvents,permission=_ui.VxeUI.permission,renderEmptyElement=_ui.VxeUI.renderEmptyElement,getDefVal=baseUtils.getDefVal,_createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.vScrollbarMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return getConfig().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return getConfig().tabs.type}},position:{type:String,default:function(){return getConfig().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return getConfig().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return getConfig().tabs.size||getConfig().size}},useScrollbar:{type:Boolean,default:function(){return getDefVal(getConfig().tabs.useScrollbar,getConfig().useScrollbar)}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,a=e.lintWidth,n=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(n,"px")}:{left:"".concat(t,"px"),width:"".concat(a,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),a},computeCloseOpts:function(){return Object.assign({},getConfig().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},getConfig().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},getConfig().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,a){this.$emit(e,createEvent(a,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!permission.checkVisible(e))},callSlot:function(e,t,a){var n=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,a)):[]},checkScrolling:function(){var e,t,a,n,i,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,a=r.clientWidth,n=r.clientHeight,i=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?n<r-Math.ceil(t):a<i-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,a,n,i=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===i}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,a=l.offsetHeight,n=l.scrollHeight,m=t-(t=l.clientWidth),h=a-(a=l.clientHeight),c?(b=n!==a,-1<s&&(l=r[s])&&(c=l.clientHeight,n=l.clientWidth,p="card"===o?(u=n,f=c,l.offsetTop):"border-card"===o?(u=n,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(a=r[s])&&(n=a.clientWidth,d="card"===o?(u=n+1,a.offsetLeft):"border-card"===o?(u=n,a.offsetLeft-1):(u=Math.max(4,Math.floor(.6*n)),a.offsetLeft+Math.floor((n-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var a=this.reactData.initNames;return!(!e||a.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),a.push(e),0))},initDefaultName:function(e){var a,n=this,t=n.reactData,i=null,o={};e&&e.length&&(a=!1,i=n.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},i===t&&(a=!0),e)&&n.addInitName(t,null)}),a||(i=e[0].name,n.addInitName(i,null),n.emitModel(i))),t.activeName=i,t.cacheTabMaps=o},clickEvent:function(t,a){var n=this,i=n.reactData,e=n.trigger,o=n.beforeChangeMethod||getConfig().tabs.beforeChangeMethod,r=i.activeName,s=a.name,l=s;n.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:n,name:s,oldName:r,newName:s,option:a})).then(function(e){e?(i.activeName=s,n.emitModel(l),n.addInitName(s,t),n.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:a},t),n.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:a},t)):n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)}).catch(function(){n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)})},handleRefreshTabEvent:function(e,t){var a=this.reactData,e=(e.stopPropagation(),a.activeName),a=a.cacheTabMaps,n=t.name,i=this.computeRefreshOpts.queryMethod,o=n?a["".concat(n)]:null;o&&!o.loading&&(i?(o.loading=!0,Promise.resolve(i({$tabs:this,value:e,name:n,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,a,n){var i=this,o=i,r=i.reactData,r=(t.stopPropagation(),r.activeName),o=i.computeCloseOpts.beforeMethod||o.beforeCloseMethod||getConfig().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=a<n.length-1?n[a+1]:n[a-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:i,value:l,name:s,nextName:c,option:e})).then(function(e){e?i.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,a=r.scrollWidth,n=r.scrollHeight,i=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<n&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+i<a&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<i&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,a=this.computeLrPosition,n=this.$refs.refHeadWrapperElem;n&&(t=n.clientWidth,n=n.clientHeight,a=Math.floor(.75*(a?n:t)),this.startScrollAnimation(e,a))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(a=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,i=r.clientHeight,a=r.children[a])&&(f?(0<(i=(n=a.offsetTop)+a.clientHeight-(o+i))&&(r.scrollTop+=i),n<o&&(r.scrollTop=n)):(0<(o=(i=a.offsetLeft)+a.clientWidth-(e+t))&&(r.scrollLeft+=o),i<e&&(r.scrollLeft=i))),l.updateTabStyle())})},handlePrevNext:function(e){var t,a=this,n=a.reactData,i=n.activeName,o=a.computeTabStaticOptions,o=o.length?o:a.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===i});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,n.activeName=e,a.emitModel(e),a.addInitName(e,null)),a.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,x=h.refreshConfig,y=t.activeName,a=t.scrollbarWidth,n=t.scrollbarHeight,i=t.isTabOver,_=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:y},p)):renderEmptyElement(h),i?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_TOP:getIcon().TABS_TAB_BUTTON_LEFT})]):renderEmptyElement(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(a+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(n+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,a){var e=t.title,n=t.icon,i=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:y,name:i,option:t},f=y===i,d=i?_["".concat(i)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(i),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[n?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:n})]):renderEmptyElement(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:i,title:e},p)):renderEmptyElement(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:i,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:i,title:e},p)):renderEmptyElement(h)]),!(0,_utils.isEnableConf)(x)&&!O.enabled||P&&!P(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?getIcon().TABS_TAB_REFRESH_LOADING:getIcon().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,a,m)}}},[p("i",{class:getIcon().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),i?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_BOTTOM:getIcon().TABS_TAB_BUTTON_RIGHT})]):renderEmptyElement(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:y},p)):renderEmptyElement(h)])},renderTabPane:function(e,t){var a=this,n=a.reactData,i=a.useScrollbar,o=n.initNames,n=n.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=a.computeScrollbarProps;return r&&o.includes(r)?i?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":n===r}],props:t,scopedSlots:{default:function(){return s?a.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":n===r}]},s?a.callSlot(s,{name:r},e):[]):renderEmptyElement(a)},renderTabContent:function(t,e){var a=this,n=a.reactData,i=a.destroyOnClose,o=n.activeName;return i?[(n=e.find(function(e){return e.name===o}))?a.renderTabPane(t,n):renderEmptyElement(a)]:e.map(function(e){return a.renderTabPane(t,e)})},rendetTabBody:function(e,t){var a=this,n=a.$scopedSlots,i=a.reactData,o=a.height,r=a.padding,s=a.showBody,l=i.activeName,c=a.computeSize,u=a.computeTabType,f=a.computeTabPosition,d=a.computeRefreshOpts.showLoading,p=n.header,n=n.footer;return s?(i=!!(i=l?i.cacheTabMaps["".concat(l)]:null)&&i.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},a.callSlot(p,l,e)):renderEmptyElement(a),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},a.renderTabContent(e,t)),n?e("div",{class:"vxe-tabs-pane--footer"},a.callSlot(n,l,e)):renderEmptyElement(a),d&&i?renderEmptyElement(a):e(_loading.default,{class:"vxe-tabs--loading",props:{value:i}})])):renderEmptyElement(a)},renderVN:function(e){var t=this,a=t.$scopedSlots,n=t.height,i=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,a=a.default,f=a?t.computeTabStaticOptions:t.computeTabOptions,a=[e("div",{key:"ts",class:"vxe-tabs-slots"},a?a({name:r}):[])];return"right"===c||"bottom"===c?a.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):a.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",i),"is--height",n)],style:u},a)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
@@ -52,7 +52,7 @@ function createInternalData() {
52
52
  }
53
53
  var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
54
54
  name: 'VxeTooltip',
55
- mixins: [_ui.globalMixins.sizeMixin],
55
+ mixins: [_ui.globalMixins.sizeMixin, _ui.globalMixins.vScrollbarMixin],
56
56
  props: {
57
57
  value: Boolean,
58
58
  size: {
@@ -296,7 +296,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
296
296
  tipZindex = reactData.tipZindex;
297
297
  var panelElem = $xeTooltip.$refs.refElem;
298
298
  if (!targetElem || !panelElem) {
299
- return;
299
+ return $xeTooltip.$nextTick();
300
300
  }
301
301
  var targetRect = targetElem.getBoundingClientRect();
302
302
  var targetWidth = targetElem.offsetWidth;
@@ -332,12 +332,16 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
332
332
  tipStore.placement = ppObj.placement;
333
333
  tipStore.style = panelStyle;
334
334
  tipStore.arrowStyle.left = ppObj.arrowLeft ? "".concat(ppObj.arrowLeft, "px") : '';
335
+ return $xeTooltip.$nextTick();
335
336
  },
336
337
  updatePlacement: function updatePlacement() {
337
338
  var $xeTooltip = this;
338
- $xeTooltip.updateTipStyle();
339
- return $xeTooltip.$nextTick().then(function () {
339
+ return $xeTooltip.updateTipStyle().then(function () {
340
340
  return $xeTooltip.updateTipStyle();
341
+ }).then(function () {
342
+ setTimeout(function () {
343
+ return $xeTooltip.updateTipStyle();
344
+ }, 15);
341
345
  });
342
346
  },
343
347
  isActived: function isActived() {
@@ -540,9 +544,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
540
544
  var reactData = $xeTooltip.reactData;
541
545
  var useHtml = props.useHtml,
542
546
  theme = props.theme,
543
- useScrollbar = props.useScrollbar,
544
547
  useHTML = props.useHTML;
545
548
  var tipContent = reactData.tipContent;
549
+ var isVScrollbar = $xeTooltip.computeIsVScrollbar;
546
550
  var wrapperStyle = $xeTooltip.computeWrapperStyle;
547
551
  var contentSlot = slots.content;
548
552
  var contVNs = [];
@@ -562,7 +566,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
562
566
  key: 'cd'
563
567
  }, "".concat(tipContent)));
564
568
  }
565
- if (useScrollbar) {
569
+ if (isVScrollbar) {
566
570
  return h(_scrollbar.default, {
567
571
  key: 5,
568
572
  ref: 'contentScrollbar',
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var baseUtils=_ui.VxeUI.baseUtils,getConfig=_ui.VxeUI.getConfig,createEvent=_ui.VxeUI.createEvent,globalEvents=_ui.VxeUI.globalEvents,getDefVal=baseUtils.getDefVal;function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",mixins:[_ui.globalMixins.sizeMixin],props:{value:Boolean,size:{type:String,default:function(){return getConfig().tooltip.size||getConfig().size}},selector:[String,Element],trigger:{type:String,default:function(){return getConfig().tooltip.trigger||"hover"}},theme:{type:String,default:function(){return getConfig().tooltip.theme||"dark"}},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:function(){return _xeUtils.default.isBoolean(getConfig().tooltip.useHtml)?getConfig().tooltip.useHtml:null}},useHTML:{type:Boolean,default:function(){return getConfig().tooltip.useHTML}},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:function(){return getConfig().tooltip.Width}},height:{type:[String,Number],default:function(){return getConfig().tooltip.height}},minWidth:{type:[String,Number],default:function(){return getConfig().tooltip.minWidth}},minHeight:{type:[String,Number],default:function(){return getConfig().tooltip.minHeight}},maxWidth:{type:[String,Number],default:function(){return getConfig().tooltip.maxWidth}},maxHeight:{type:[String,Number],default:function(){return getConfig().tooltip.maxHeight}},placement:{type:String,default:function(){return getConfig().tooltip.placement}},defaultPlacement:{type:String,default:function(){return getConfig().tooltip.defaultPlacement}},isArrow:{type:Boolean,default:function(){return getConfig().tooltip.isArrow}},enterable:{type:Boolean,default:function(){return getConfig().tooltip.enterable}},enterDelay:{type:Number,default:function(){return getConfig().tooltip.enterDelay}},leaveDelay:{type:Number,default:function(){return getConfig().tooltip.leaveDelay}},appendTo:{type:[String,Function],default:function(){return getConfig().tooltip.appendTo}},useScrollbar:{type:Boolean,default:function(){return getDefVal(getConfig().tooltip.useScrollbar,getConfig().useScrollbar)}},scrollbarConfig:Object},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{computeWrapperStyle:function(){var e=this,t=e.width,n=e.height,i=e.minHeight,r=e.minWidth,o=e.maxHeight,e=e.maxWidth,a={};return t&&(a.width=(0,_dom.toCssUnit)(t)),n&&(a.height=(0,_dom.toCssUnit)(n)),r&&(a.minWidth=(0,_dom.toCssUnit)(r)),i&&(a.minHeight=(0,_dom.toCssUnit)(i)),e&&(a.maxWidth=(0,_dom.toCssUnit)(e)),o&&(a.maxHeight=(0,_dom.toCssUnit)(o)),a}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,createEvent(n,{$tooltip:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},getSelectorEl:function(){var e=this.selector;if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e)}return null},openByEvent:function(e,t,n){var i=this.reactData;return this.handleVisible(t||i.target||this.getSelectorEl(),n,e)},open:function(e,t){var n=this.reactData;return this.handleVisible(e||n.target||this.getSelectorEl(),t)},close:function(){var e=this.reactData;return e.tipPos=null,e.tipTarget=null,e.tipActive=!1,Object.assign(e.tipStore,{style:{},placement:"",arrowStyle:null}),this.updateValue(!1),this.dispatchEvent("hide",{},null),this.$nextTick()},toVisible:function(e,t){return this.handleVisible(e,t)},updateTipStyle:function(){var e,t,n,i,r,o,a,l=this.reactData,u=this.placement,s=this.defaultPlacement,c=this.appendTo,p=this.isArrow,f=l.tipTarget,d=l.tipStore,h=l.tipPos,l=l.tipZindex,v=this.$refs.refElem;f&&v&&(o=f.getBoundingClientRect(),e=f.offsetWidth,a=f.offsetHeight,t=v.offsetWidth,n=o.left,r=i=0,h&&(h.oLeft||h.oTop)&&(i=n,r=o.top+a,p?i=n+Math.max(8,Math.min(e-8,h.oLeft))-t/2:(i=h.x+1,r=h.y+1)),o=(0,_dom.updatePanelPlacement)(f,v,{defaultTop:r,defaultLeft:i,placement:u,defaultPlacement:s,appendTo:c,isMinWidth:!1,teleportTo:!0}),a=Object.assign(o.style,{zIndex:l}),d.placement=o.placement,d.style=a,d.arrowStyle.left=o.arrowLeft?"".concat(o.arrowLeft,"px"):"")},updatePlacement:function(){var e=this;return e.updateTipStyle(),e.$nextTick().then(function(){return e.updateTipStyle()})},isActived:function(){return this.reactData.tipActive},setActived:function(e){this.reactData.tipActive=!!e},updateValue:function(e){var t=this.reactData;e!==t.visible&&(t.visible=e,t.isUpdate=!0,this.emitModel(e))},updateZIndex:function(){var e=this.reactData,t=this.zIndex;t?e.tipZindex=_xeUtils.default.toNumber(t):e.tipZindex<(0,_utils.getLastZIndex)()&&(e.tipZindex=(0,_utils.nextZIndex)())},clickEvent:function(){var e=this,t=e,n=e.reactData;n.visible?e.close():e.handleVisible(n.target||e.getSelectorEl(),t.content)},targetMouseenterEvent:function(){var e=this.reactData;this.handleVisible(e.target||this.getSelectorEl(),this.content)},targetMouseleaveEvent:function(){var e=this,t=e.reactData,n=e.trigger,i=e.enterable,r=e.leaveDelay;t.tipActive=!1,i&&"hover"===n?setTimeout(function(){t.tipActive||e.close()},r):e.close()},wrapperMouseenterEvent:function(){this.reactData.tipActive=!0},wrapperMouseleaveEvent:function(){var e=this,t=e.reactData,n=e.trigger,i=e.enterable,r=e.leaveDelay;t.tipActive=!1,i&&"hover"===n&&setTimeout(function(){t.tipActive||e.close()},r)},showTip:function(){var e=this,t=e,n=e.reactData,i=t.appendTo,r=n.tipStore,o=e.$refs.refElem;return o&&!o.parentNode&&(0,_dom.getPopupAppendElement)(i).appendChild(o),e.updateValue(!0),e.updateZIndex(),r.placement="top",r.style={width:"auto",left:0,top:0,zIndex:t.zIndex||n.tipZindex},r.arrowStyle={left:"50%"},e.updatePlacement().then(function(){return e.updatePlacement()})},handleDelayFn:function(){var e=this,t=e.reactData;e.internalData.showDelayTip=_xeUtils.default.debounce(function(){t.tipActive&&e.showTip()},e.enterDelay,{leading:!1,trailing:!0})},handleVisible:function(e,t,n){var i=this,r=i,o=i.$scopedSlots,a=i.reactData,l=i.internalData,o=o.content;if((o||""!==t&&!_xeUtils.default.eqNull(t))&&e){o=l.showDelayTip,l=r.trigger,r=r.enterDelay;if(a.tipPos=n?{x:n.clientX,y:n.clientY,oLeft:n.offsetX,oTop:n.offsetY}:null,a.tipActive=!0,a.tipTarget=e,a.tipContent=t,a.visible)return i.updatePlacement();if(!r||"hover"!==l)return e=i.showTip(),i.dispatchEvent("show",{},n||null),e;o&&o(),i.dispatchEvent("show",{},n||null)}return i.$nextTick()},wheelEvent:function(e){e.stopPropagation()},handleGlobalScrollEvent:function(){this.reactData.visible&&this.updatePlacement()},handleGlobalBlurEvent:function(){this.close()},handleCloseEvent:function(){this.targetMouseleaveEvent()},renderContent:function(e){var t=this.$scopedSlots,n=this.reactData,i=this.useHtml,r=this.theme,o=this.useScrollbar,a=this.useHTML,n=n.tipContent,l=this.computeWrapperStyle,t=t.content,u=[];return t?u.push(e("div",{key:"ct"},(0,_vn.getSlotVNs)(t({})))):(_xeUtils.default.isBoolean(i)?i:a)?u.push(e("div",{key:"ch",domProps:{innerHTML:n}})):u.push(e("span",{key:"cd"},"".concat(n))),o?e(_scrollbar.default,{key:5,ref:"contentScrollbar",class:"vxe-tooltip--scrollbar-content",props:{theme:r,viewClassName:"vxe-tooltip--scrollbar-content-view",viewInnerClassName:"vxe-tooltip--scrollbar-content-inner",viewStyle:l},scopedSlots:{default:function(){return u}}}):e("div",{key:3,ref:"contentWrapperElem",class:"vxe-tooltip--content",style:l},u)},renderVN:function(e){var t,n=this,i=n.$scopedSlots,r=n.reactData,o=n.popupClassName,a=n.isArrow,l=n.enterable,u=r.tipActive,s=r.visible,r=r.tipStore,i=i.default,c=n.computeSize;return l&&(t={mouseenter:n.wrapperMouseenterEvent,mouseleave:n.wrapperMouseleaveEvent}),e("div",{ref:"refElem",class:["vxe-tooltip--wrapper","theme--".concat(n.theme),o?_xeUtils.default.isFunction(o)?o({$tooltip:n}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"placement--".concat(r.placement),r.placement),"is--enterable",l),"is--visible",s),"is--arrow",a),"is--active",u)],style:r.style,on:t},[e("div",{key:"tby",class:"vxe-tooltip--body"},[n.renderContent(e),e("div",{class:"vxe-tooltip--arrow",style:r.arrowStyle})])].concat(_toConsumableArray(i?(0,_vn.getSlotVNs)(i({})):[])))}},watch:{content:function(e){this.reactData.tipContent=e},value:function(e){var t=this,n=t,i=t.reactData;i.isUpdate||(e?t.handleVisible(i.target||t.getSelectorEl(),n.content):t.close()),i.isUpdate=!1},enterDelay:function(){this.handleDelayFn()}},created:function(){var e=this;e.internalData=createInternalData(),e.handleDelayFn(),globalEvents.on(e,"blur",e.handleGlobalBlurEvent),globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},mounted:function(){var o=this,a=o,l=o.reactData,e=o.internalData,t=o.$refs.contentScrollbar,e=(t&&(t=t.getViewElem())&&(t.addEventListener("wheel",o.wheelEvent,{passive:!1}),e.scrollbarViewEl=t),o.$refs.contentWrapperElem);e&&e.addEventListener("wheel",o.wheelEvent,{passive:!1}),o.$nextTick(function(){var n,e,t=a.trigger,i=a.content,r=o.$refs.refElem;r&&(n=r.parentNode)&&(l.tipContent=i,l.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(r.children,function(e,t){t&&(n.insertBefore(e,r),l.target||(l.target=e))}),n.removeChild(r),(e=l.target)&&("hover"===t?(e.onmouseenter=o.targetMouseenterEvent,e.onmouseleave=o.targetMouseleaveEvent):"click"===t&&(e.onclick=o.clickEvent)),a.value)&&o.handleVisible(e||o.getSelectorEl(),i)})},beforeDestroy:function(){var e=this,t=e.reactData,n=e.internalData,i=t.target,r=n.scrollbarViewEl,o=e.$refs.refElem,i=(i&&(i.onmouseenter=null,i.onmouseleave=null,i.onclick=null),e.$refs.contentWrapperElem);i&&i.removeEventListener("wheel",e.wheelEvent),r&&r.removeEventListener("wheel",e.wheelEvent),o&&(i=o.parentNode)&&i.removeChild(o),globalEvents.off(e,"blur"),globalEvents.off(e,"scroll"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var baseUtils=_ui.VxeUI.baseUtils,getConfig=_ui.VxeUI.getConfig,createEvent=_ui.VxeUI.createEvent,globalEvents=_ui.VxeUI.globalEvents,getDefVal=baseUtils.getDefVal;function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.vScrollbarMixin],props:{value:Boolean,size:{type:String,default:function(){return getConfig().tooltip.size||getConfig().size}},selector:[String,Element],trigger:{type:String,default:function(){return getConfig().tooltip.trigger||"hover"}},theme:{type:String,default:function(){return getConfig().tooltip.theme||"dark"}},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:function(){return _xeUtils.default.isBoolean(getConfig().tooltip.useHtml)?getConfig().tooltip.useHtml:null}},useHTML:{type:Boolean,default:function(){return getConfig().tooltip.useHTML}},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:function(){return getConfig().tooltip.Width}},height:{type:[String,Number],default:function(){return getConfig().tooltip.height}},minWidth:{type:[String,Number],default:function(){return getConfig().tooltip.minWidth}},minHeight:{type:[String,Number],default:function(){return getConfig().tooltip.minHeight}},maxWidth:{type:[String,Number],default:function(){return getConfig().tooltip.maxWidth}},maxHeight:{type:[String,Number],default:function(){return getConfig().tooltip.maxHeight}},placement:{type:String,default:function(){return getConfig().tooltip.placement}},defaultPlacement:{type:String,default:function(){return getConfig().tooltip.defaultPlacement}},isArrow:{type:Boolean,default:function(){return getConfig().tooltip.isArrow}},enterable:{type:Boolean,default:function(){return getConfig().tooltip.enterable}},enterDelay:{type:Number,default:function(){return getConfig().tooltip.enterDelay}},leaveDelay:{type:Number,default:function(){return getConfig().tooltip.leaveDelay}},appendTo:{type:[String,Function],default:function(){return getConfig().tooltip.appendTo}},useScrollbar:{type:Boolean,default:function(){return getDefVal(getConfig().tooltip.useScrollbar,getConfig().useScrollbar)}},scrollbarConfig:Object},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{computeWrapperStyle:function(){var e=this,t=e.width,n=e.height,i=e.minHeight,r=e.minWidth,o=e.maxHeight,e=e.maxWidth,a={};return t&&(a.width=(0,_dom.toCssUnit)(t)),n&&(a.height=(0,_dom.toCssUnit)(n)),r&&(a.minWidth=(0,_dom.toCssUnit)(r)),i&&(a.minHeight=(0,_dom.toCssUnit)(i)),e&&(a.maxWidth=(0,_dom.toCssUnit)(e)),o&&(a.maxHeight=(0,_dom.toCssUnit)(o)),a}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,createEvent(n,{$tooltip:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},getSelectorEl:function(){var e=this.selector;if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e)}return null},openByEvent:function(e,t,n){var i=this.reactData;return this.handleVisible(t||i.target||this.getSelectorEl(),n,e)},open:function(e,t){var n=this.reactData;return this.handleVisible(e||n.target||this.getSelectorEl(),t)},close:function(){var e=this.reactData;return e.tipPos=null,e.tipTarget=null,e.tipActive=!1,Object.assign(e.tipStore,{style:{},placement:"",arrowStyle:null}),this.updateValue(!1),this.dispatchEvent("hide",{},null),this.$nextTick()},toVisible:function(e,t){return this.handleVisible(e,t)},updateTipStyle:function(){var e,t,n,i,r,o,a,l=this,u=l.reactData,s=l.placement,c=l.defaultPlacement,p=l.appendTo,f=l.isArrow,d=u.tipTarget,h=u.tipStore,v=u.tipPos,u=u.tipZindex,g=l.$refs.refElem;return d&&g&&(o=d.getBoundingClientRect(),e=d.offsetWidth,a=d.offsetHeight,t=g.offsetWidth,n=o.left,r=i=0,v&&(v.oLeft||v.oTop)&&(i=n,r=o.top+a,f?i=n+Math.max(8,Math.min(e-8,v.oLeft))-t/2:(i=v.x+1,r=v.y+1)),o=(0,_dom.updatePanelPlacement)(d,g,{defaultTop:r,defaultLeft:i,placement:s,defaultPlacement:c,appendTo:p,isMinWidth:!1,teleportTo:!0}),a=Object.assign(o.style,{zIndex:u}),h.placement=o.placement,h.style=a,h.arrowStyle.left=o.arrowLeft?"".concat(o.arrowLeft,"px"):""),l.$nextTick()},updatePlacement:function(){var e=this;return e.updateTipStyle().then(function(){return e.updateTipStyle()}).then(function(){setTimeout(function(){return e.updateTipStyle()},15)})},isActived:function(){return this.reactData.tipActive},setActived:function(e){this.reactData.tipActive=!!e},updateValue:function(e){var t=this.reactData;e!==t.visible&&(t.visible=e,t.isUpdate=!0,this.emitModel(e))},updateZIndex:function(){var e=this.reactData,t=this.zIndex;t?e.tipZindex=_xeUtils.default.toNumber(t):e.tipZindex<(0,_utils.getLastZIndex)()&&(e.tipZindex=(0,_utils.nextZIndex)())},clickEvent:function(){var e=this,t=e,n=e.reactData;n.visible?e.close():e.handleVisible(n.target||e.getSelectorEl(),t.content)},targetMouseenterEvent:function(){var e=this.reactData;this.handleVisible(e.target||this.getSelectorEl(),this.content)},targetMouseleaveEvent:function(){var e=this,t=e.reactData,n=e.trigger,i=e.enterable,r=e.leaveDelay;t.tipActive=!1,i&&"hover"===n?setTimeout(function(){t.tipActive||e.close()},r):e.close()},wrapperMouseenterEvent:function(){this.reactData.tipActive=!0},wrapperMouseleaveEvent:function(){var e=this,t=e.reactData,n=e.trigger,i=e.enterable,r=e.leaveDelay;t.tipActive=!1,i&&"hover"===n&&setTimeout(function(){t.tipActive||e.close()},r)},showTip:function(){var e=this,t=e,n=e.reactData,i=t.appendTo,r=n.tipStore,o=e.$refs.refElem;return o&&!o.parentNode&&(0,_dom.getPopupAppendElement)(i).appendChild(o),e.updateValue(!0),e.updateZIndex(),r.placement="top",r.style={width:"auto",left:0,top:0,zIndex:t.zIndex||n.tipZindex},r.arrowStyle={left:"50%"},e.updatePlacement().then(function(){return e.updatePlacement()})},handleDelayFn:function(){var e=this,t=e.reactData;e.internalData.showDelayTip=_xeUtils.default.debounce(function(){t.tipActive&&e.showTip()},e.enterDelay,{leading:!1,trailing:!0})},handleVisible:function(e,t,n){var i=this,r=i,o=i.$scopedSlots,a=i.reactData,l=i.internalData,o=o.content;if((o||""!==t&&!_xeUtils.default.eqNull(t))&&e){o=l.showDelayTip,l=r.trigger,r=r.enterDelay;if(a.tipPos=n?{x:n.clientX,y:n.clientY,oLeft:n.offsetX,oTop:n.offsetY}:null,a.tipActive=!0,a.tipTarget=e,a.tipContent=t,a.visible)return i.updatePlacement();if(!r||"hover"!==l)return e=i.showTip(),i.dispatchEvent("show",{},n||null),e;o&&o(),i.dispatchEvent("show",{},n||null)}return i.$nextTick()},wheelEvent:function(e){e.stopPropagation()},handleGlobalScrollEvent:function(){this.reactData.visible&&this.updatePlacement()},handleGlobalBlurEvent:function(){this.close()},handleCloseEvent:function(){this.targetMouseleaveEvent()},renderContent:function(e){var t=this,n=t.$scopedSlots,i=t.useHtml,r=t.theme,o=t.useHTML,a=t.reactData.tipContent,l=t.computeIsVScrollbar,t=t.computeWrapperStyle,n=n.content,u=[];return n?u.push(e("div",{key:"ct"},(0,_vn.getSlotVNs)(n({})))):(_xeUtils.default.isBoolean(i)?i:o)?u.push(e("div",{key:"ch",domProps:{innerHTML:a}})):u.push(e("span",{key:"cd"},"".concat(a))),l?e(_scrollbar.default,{key:5,ref:"contentScrollbar",class:"vxe-tooltip--scrollbar-content",props:{theme:r,viewClassName:"vxe-tooltip--scrollbar-content-view",viewInnerClassName:"vxe-tooltip--scrollbar-content-inner",viewStyle:t},scopedSlots:{default:function(){return u}}}):e("div",{key:3,ref:"contentWrapperElem",class:"vxe-tooltip--content",style:t},u)},renderVN:function(e){var t,n=this,i=n.$scopedSlots,r=n.reactData,o=n.popupClassName,a=n.isArrow,l=n.enterable,u=r.tipActive,s=r.visible,r=r.tipStore,i=i.default,c=n.computeSize;return l&&(t={mouseenter:n.wrapperMouseenterEvent,mouseleave:n.wrapperMouseleaveEvent}),e("div",{ref:"refElem",class:["vxe-tooltip--wrapper","theme--".concat(n.theme),o?_xeUtils.default.isFunction(o)?o({$tooltip:n}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"placement--".concat(r.placement),r.placement),"is--enterable",l),"is--visible",s),"is--arrow",a),"is--active",u)],style:r.style,on:t},[e("div",{key:"tby",class:"vxe-tooltip--body"},[n.renderContent(e),e("div",{class:"vxe-tooltip--arrow",style:r.arrowStyle})])].concat(_toConsumableArray(i?(0,_vn.getSlotVNs)(i({})):[])))}},watch:{content:function(e){this.reactData.tipContent=e},value:function(e){var t=this,n=t,i=t.reactData;i.isUpdate||(e?t.handleVisible(i.target||t.getSelectorEl(),n.content):t.close()),i.isUpdate=!1},enterDelay:function(){this.handleDelayFn()}},created:function(){var e=this;e.internalData=createInternalData(),e.handleDelayFn(),globalEvents.on(e,"blur",e.handleGlobalBlurEvent),globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},mounted:function(){var o=this,a=o,l=o.reactData,e=o.internalData,t=o.$refs.contentScrollbar,e=(t&&(t=t.getViewElem())&&(t.addEventListener("wheel",o.wheelEvent,{passive:!1}),e.scrollbarViewEl=t),o.$refs.contentWrapperElem);e&&e.addEventListener("wheel",o.wheelEvent,{passive:!1}),o.$nextTick(function(){var n,e,t=a.trigger,i=a.content,r=o.$refs.refElem;r&&(n=r.parentNode)&&(l.tipContent=i,l.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(r.children,function(e,t){t&&(n.insertBefore(e,r),l.target||(l.target=e))}),n.removeChild(r),(e=l.target)&&("hover"===t?(e.onmouseenter=o.targetMouseenterEvent,e.onmouseleave=o.targetMouseleaveEvent):"click"===t&&(e.onclick=o.clickEvent)),a.value)&&o.handleVisible(e||o.getSelectorEl(),i)})},beforeDestroy:function(){var e=this,t=e.reactData,n=e.internalData,i=t.target,r=n.scrollbarViewEl,o=e.$refs.refElem,i=(i&&(i.onmouseenter=null,i.onmouseleave=null,i.onclick=null),e.$refs.contentWrapperElem);i&&i.removeEventListener("wheel",e.wheelEvent),r&&r.removeEventListener("wheel",e.wheelEvent),o&&(i=o.parentNode)&&i.removeChild(o),globalEvents.off(e,"blur"),globalEvents.off(e,"scroll"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},render:function(e){return this.renderVN(e)}});
@@ -594,7 +594,7 @@ function createInternalData() {
594
594
  }
595
595
  var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
596
596
  name: 'VxeTree',
597
- mixins: [_ui.globalMixins.sizeMixin],
597
+ mixins: [_ui.globalMixins.sizeMixin, _ui.globalMixins.vScrollbarMixin],
598
598
  props: {
599
599
  data: Array,
600
600
  autoResize: {
@@ -792,7 +792,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
792
792
  xID: xID,
793
793
  reactData: reactData,
794
794
  crossTreeDragNodeInfo: _store.crossTreeDragNodeGlobal,
795
- reFlag: 0,
795
+ reLayoutFlag: 0,
796
+ reScrollFlag: 0,
796
797
  dataFlag: 0
797
798
  });
798
799
  },
@@ -1675,8 +1676,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1675
1676
  },
1676
1677
  updateScrollbar: function updateScrollbar() {
1677
1678
  var $xeTree = this;
1678
- $xeTree.updateThumbSize();
1679
- $xeTree.updateThumbOffset();
1679
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
1680
+ if (isVScrollbar) {
1681
+ return $xeTree.$nextTick().then(function () {
1682
+ $xeTree.updateThumbSize();
1683
+ $xeTree.updateThumbOffset();
1684
+ });
1685
+ }
1686
+ return Promise.resolve();
1680
1687
  },
1681
1688
  /**
1682
1689
  * 重新计算列表
@@ -1702,11 +1709,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1702
1709
  var parentPaddingSize = (0, _dom.getPaddingTopBottomSize)(parentEl);
1703
1710
  reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
1704
1711
  }
1705
- $xeTree.updateScrollbar();
1706
1712
  $xeTree.updateHeight();
1707
1713
  return $xeTree.computeScrollLoad().then(function () {
1708
1714
  $xeTree.updateHeight();
1709
1715
  $xeTree.updateYSpace();
1716
+ $xeTree.updateScrollbar();
1710
1717
  });
1711
1718
  }
1712
1719
  return $xeTree.$nextTick();
@@ -1746,7 +1753,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1746
1753
  var $xeTree = this;
1747
1754
  var reactData = $xeTree.reactData;
1748
1755
  var internalData = $xeTree.internalData;
1749
- var scrollBodyElem = evnt.target;
1756
+ var scrollBodyElem = evnt.currentTarget;
1750
1757
  var scrollTop = scrollBodyElem.scrollTop;
1751
1758
  var scrollLeft = scrollBodyElem.scrollLeft;
1752
1759
  var isX = scrollLeft !== internalData.lastScrollLeft;
@@ -3539,6 +3546,28 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3539
3546
  }
3540
3547
  },
3541
3548
  // 滚动条
3549
+ bindScrollbarResize: function bindScrollbarResize() {
3550
+ var $xeTree = this;
3551
+ var internalData = $xeTree.internalData;
3552
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
3553
+ var scrollObserver = internalData.scrollObserver;
3554
+ if (isVScrollbar) {
3555
+ if (!scrollObserver) {
3556
+ var el = $xeTree.$refs.refElem;
3557
+ var viewInnerEl = $xeTree.$refs.refVirtualSpaceElem;
3558
+ var _scrollObserver = _ui.globalResize.create(function () {
3559
+ $xeTree.reScrollFlag++;
3560
+ });
3561
+ if (el) {
3562
+ _scrollObserver.observe(el);
3563
+ }
3564
+ if (viewInnerEl) {
3565
+ _scrollObserver.observe(viewInnerEl);
3566
+ }
3567
+ internalData.scrollObserver = _scrollObserver;
3568
+ }
3569
+ }
3570
+ },
3542
3571
  updateThumbSize: function updateThumbSize() {
3543
3572
  var $xeTree = this;
3544
3573
  var reactData = $xeTree.reactData;
@@ -4055,8 +4084,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4055
4084
  var reactData = $xeTree.reactData;
4056
4085
  var loading = props.loading,
4057
4086
  trigger = props.trigger,
4058
- showLine = props.showLine,
4059
- useScrollbar = props.useScrollbar;
4087
+ showLine = props.showLine;
4060
4088
  var bodyHeight = reactData.bodyHeight,
4061
4089
  topSpaceHeight = reactData.topSpaceHeight,
4062
4090
  treeList = reactData.treeList,
@@ -4064,6 +4092,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4064
4092
  xThumbWidth = reactData.xThumbWidth,
4065
4093
  yThumbHeight = reactData.yThumbHeight;
4066
4094
  var vSize = $xeTree.computeSize;
4095
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
4067
4096
  var radioOpts = $xeTree.computeRadioOpts;
4068
4097
  var checkboxOpts = $xeTree.computeCheckboxOpts;
4069
4098
  var loadingOpts = $xeTree.computeLoadingOpts;
@@ -4090,7 +4119,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4090
4119
  }
4091
4120
  return h('div', {
4092
4121
  ref: 'refElem',
4093
- 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))],
4122
+ 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))],
4094
4123
  style: wrapperStyles,
4095
4124
  on: teOns
4096
4125
  }, [headerSlot ? h('div', {
@@ -4106,6 +4135,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4106
4135
  scroll: $xeTree.scrollEvent
4107
4136
  }
4108
4137
  }, [h('div', {
4138
+ ref: 'refVirtualSpaceElem',
4109
4139
  class: 'vxe-tree--y-space',
4110
4140
  style: {
4111
4141
  height: bodyHeight ? "".concat(bodyHeight, "px") : ''
@@ -4125,7 +4155,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4125
4155
  /**
4126
4156
  * 滚动条
4127
4157
  */
4128
- useScrollbar ? h('div', {
4158
+ isVScrollbar ? h('div', {
4129
4159
  class: scrollbarWrapperClss
4130
4160
  }, [scrollXVisible === false ? (0, _ui.renderEmptyElement)($xeTree) : h('div', {
4131
4161
  ref: 'refTrackXElem',
@@ -4249,45 +4279,56 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4249
4279
  },
4250
4280
  height: function height() {
4251
4281
  var $xeTree = this;
4252
- $xeTree.reFlag++;
4282
+ $xeTree.reLayoutFlag++;
4253
4283
  },
4254
4284
  minHeight: function minHeight() {
4255
4285
  var $xeTree = this;
4256
- $xeTree.reFlag++;
4286
+ $xeTree.reLayoutFlag++;
4257
4287
  },
4258
4288
  maxHeight: function maxHeight() {
4259
4289
  var $xeTree = this;
4260
- $xeTree.reFlag++;
4290
+ $xeTree.reLayoutFlag++;
4261
4291
  },
4262
- useScrollbar: function useScrollbar() {
4292
+ computeIsVScrollbar: function computeIsVScrollbar() {
4263
4293
  var $xeTree = this;
4264
- $xeTree.reFlag++;
4294
+ $xeTree.$nextTick(function () {
4295
+ $xeTree.bindScrollbarResize();
4296
+ $xeTree.$nextTick(function () {
4297
+ $xeTree.reLayoutFlag++;
4298
+ });
4299
+ });
4265
4300
  },
4266
4301
  computeScrollYWidth: function computeScrollYWidth() {
4267
4302
  var $xeTree = this;
4268
- $xeTree.reFlag++;
4303
+ $xeTree.reLayoutFlag++;
4269
4304
  },
4270
4305
  computeScrollXHeight: function computeScrollXHeight() {
4271
4306
  var $xeTree = this;
4272
- $xeTree.reFlag++;
4307
+ $xeTree.reLayoutFlag++;
4273
4308
  },
4274
4309
  computeScrollXVisible: function computeScrollXVisible() {
4275
4310
  var $xeTree = this;
4276
4311
  $xeTree.$nextTick(function () {
4277
- $xeTree.reFlag++;
4312
+ $xeTree.reLayoutFlag++;
4278
4313
  });
4279
4314
  },
4280
4315
  computeScrollYVisible: function computeScrollYVisible() {
4281
4316
  var $xeTree = this;
4282
4317
  $xeTree.$nextTick(function () {
4283
- $xeTree.reFlag++;
4318
+ $xeTree.reLayoutFlag++;
4284
4319
  });
4285
4320
  },
4286
- reFlag: function reFlag() {
4321
+ reLayoutFlag: function reLayoutFlag() {
4287
4322
  var $xeTree = this;
4288
4323
  $xeTree.recalculate().then(function () {
4289
4324
  $xeTree.recalculate();
4290
4325
  });
4326
+ },
4327
+ reScrollFlag: function reScrollFlag() {
4328
+ var $xeTree = this;
4329
+ $xeTree.updateScrollbar().then(function () {
4330
+ $xeTree.updateScrollbar();
4331
+ });
4291
4332
  }
4292
4333
  },
4293
4334
  created: function created() {
@@ -4308,8 +4349,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4308
4349
  showOverflow = props.showOverflow,
4309
4350
  lazy = props.lazy,
4310
4351
  loadMethod = props.loadMethod,
4311
- autoResize = props.autoResize,
4312
- useScrollbar = props.useScrollbar;
4352
+ autoResize = props.autoResize;
4313
4353
  var dragOpts = $xeTree.computeDragOpts;
4314
4354
  if (!showOverflow) {
4315
4355
  errLog('vxe.error.errProp', ['show-overflow=false', 'show-overflow=true']);
@@ -4330,25 +4370,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4330
4370
  if (menuConfig && !VxeUIContextMenu) {
4331
4371
  errLog('vxe.error.reqComp', ['vxe-context-menu']);
4332
4372
  }
4333
- var el = $xeTree.$refs.refElem;
4334
- if (useScrollbar) {
4335
- var viewInnerEl = $xeTree.$refs.refVirtualBody;
4336
- var scrollObserver = _ui.globalResize.create(function () {
4337
- $xeTree.updateScrollbar();
4338
- });
4339
- if (el) {
4340
- scrollObserver.observe(el);
4341
- }
4342
- if (viewInnerEl) {
4343
- scrollObserver.observe(viewInnerEl);
4344
- }
4345
- internalData.scrollObserver = scrollObserver;
4346
- }
4347
4373
  if (autoResize) {
4374
+ var el = $xeTree.$refs.refElem;
4348
4375
  var parentEl = $xeTree.getParentElem();
4349
4376
  var resizeObserver = _ui.globalResize.create(function () {
4350
4377
  if (props.autoResize) {
4351
- $xeTree.reFlag++;
4378
+ $xeTree.reLayoutFlag++;
4352
4379
  }
4353
4380
  });
4354
4381
  if (el) {
@@ -4359,9 +4386,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4359
4386
  }
4360
4387
  internalData.resizeObserver = resizeObserver;
4361
4388
  }
4362
- $xeTree.reFlag++;
4389
+ $xeTree.reLayoutFlag++;
4390
+ $xeTree.bindScrollbarResize();
4363
4391
  _ui.globalEvents.on($xeTree, 'resize', function () {
4364
- $xeTree.reFlag++;
4392
+ $xeTree.reLayoutFlag++;
4365
4393
  });
4366
4394
  },
4367
4395
  beforeDestroy: function beforeDestroy() {