vxe-table 4.2.2 → 4.2.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/es/filter/src/hook.js +2 -1
  2. package/es/footer/src/footer.js +5 -5
  3. package/es/header/src/header.js +6 -6
  4. package/es/header/style.css +1 -5
  5. package/es/input/src/input.js +138 -33
  6. package/es/input/style.css +42 -13
  7. package/es/keyboard/src/hook.js +5 -1
  8. package/es/style.css +1 -1
  9. package/es/style.min.css +1 -1
  10. package/es/table/src/body.js +15 -11
  11. package/es/table/src/table.js +58 -48
  12. package/es/table/src/util.js +2 -2
  13. package/es/tools/log.js +1 -1
  14. package/es/v-x-e-table/index.js +1 -1
  15. package/helper/vetur/attributes.json +31 -19
  16. package/helper/vetur/tags.json +3 -0
  17. package/lib/filter/src/hook.js +2 -1
  18. package/lib/filter/src/hook.min.js +1 -1
  19. package/lib/footer/src/footer.js +5 -5
  20. package/lib/footer/src/footer.min.js +1 -1
  21. package/lib/header/src/header.js +6 -6
  22. package/lib/header/src/header.min.js +1 -1
  23. package/lib/header/style/style.css +1 -5
  24. package/lib/header/style/style.min.css +1 -1
  25. package/lib/index.umd.js +345 -121
  26. package/lib/index.umd.min.js +1 -1
  27. package/lib/input/src/input.js +180 -35
  28. package/lib/input/src/input.min.js +1 -1
  29. package/lib/input/style/style.css +42 -13
  30. package/lib/input/style/style.min.css +1 -1
  31. package/lib/keyboard/src/hook.js +7 -1
  32. package/lib/keyboard/src/hook.min.js +1 -1
  33. package/lib/style.css +1 -1
  34. package/lib/style.min.css +1 -1
  35. package/lib/table/src/body.js +15 -11
  36. package/lib/table/src/body.min.js +1 -1
  37. package/lib/table/src/table.js +65 -56
  38. package/lib/table/src/table.min.js +1 -1
  39. package/lib/table/src/util.js +1 -1
  40. package/lib/table/src/util.min.js +1 -1
  41. package/lib/tools/log.js +1 -1
  42. package/lib/tools/log.min.js +1 -1
  43. package/lib/v-x-e-table/index.js +1 -1
  44. package/lib/v-x-e-table/index.min.js +1 -1
  45. package/package.json +1 -1
  46. package/packages/filter/src/hook.ts +3 -2
  47. package/packages/footer/src/footer.ts +5 -5
  48. package/packages/header/src/header.ts +6 -6
  49. package/packages/input/src/input.ts +142 -34
  50. package/packages/keyboard/src/hook.ts +6 -2
  51. package/packages/table/src/body.ts +15 -11
  52. package/packages/table/src/table.ts +57 -46
  53. package/packages/table/src/util.ts +2 -2
  54. package/packages/tools/dom.ts +1 -1
  55. package/styles/header.scss +1 -1
  56. package/styles/input.scss +16 -4
  57. package/types/input.d.ts +11 -0
  58. package/types/table.d.ts +3 -1
@@ -655,8 +655,10 @@ var _default = (0, _vue.defineComponent)({
655
655
  var bodyElem = tableBody.$el;
656
656
  var leftElem = leftBody ? leftBody.$el : null;
657
657
  var rightElem = rightBody ? rightBody.$el : null;
658
- var bodyYElem = elemStore['main-body-ySpace'];
659
- var bodyXElem = elemStore['main-body-xSpace'];
658
+ var bodyYRef = elemStore['main-body-ySpace'];
659
+ var bodyYElem = bodyYRef ? bodyYRef.value : null;
660
+ var bodyXRef = elemStore['main-body-xSpace'];
661
+ var bodyXElem = bodyXRef ? bodyXRef.value : null;
660
662
  var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
661
663
  var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
662
664
  var scrollTop = scrollBodyElem.scrollTop;
@@ -739,8 +741,10 @@ var _default = (0, _vue.defineComponent)({
739
741
  var leftElem = leftBody ? leftBody.$el : null;
740
742
  var rightElem = rightBody ? rightBody.$el : null;
741
743
  var bodyElem = tableBody.$el;
742
- var bodyYElem = elemStore['main-body-ySpace'];
743
- var bodyXElem = elemStore['main-body-xSpace'];
744
+ var bodyYRef = elemStore['main-body-ySpace'];
745
+ var bodyYElem = bodyYRef ? bodyYRef.value : null;
746
+ var bodyXRef = elemStore['main-body-xSpace'];
747
+ var bodyXElem = bodyXRef ? bodyXRef.value : null;
744
748
  var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
745
749
  var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
746
750
  var remainSize = isPrevWheelTop === isTopWheel ? Math.max(0, wheelYSize - wheelYTotal) : 0;
@@ -848,13 +852,13 @@ var _default = (0, _vue.defineComponent)({
848
852
  var elemStore = tableInternalData.elemStore;
849
853
  var prefix = (fixedType || 'main') + "-body-";
850
854
  var el = refElem.value;
851
- elemStore[prefix + "wrapper"] = refElem.value;
852
- elemStore[prefix + "table"] = refBodyTable.value;
853
- elemStore[prefix + "colgroup"] = refBodyColgroup.value;
854
- elemStore[prefix + "list"] = refBodyTBody.value;
855
- elemStore[prefix + "xSpace"] = refBodyXSpace.value;
856
- elemStore[prefix + "ySpace"] = refBodyYSpace.value;
857
- elemStore[prefix + "emptyBlock"] = refBodyEmptyBlock.value;
855
+ elemStore[prefix + "wrapper"] = refElem;
856
+ elemStore[prefix + "table"] = refBodyTable;
857
+ elemStore[prefix + "colgroup"] = refBodyColgroup;
858
+ elemStore[prefix + "list"] = refBodyTBody;
859
+ elemStore[prefix + "xSpace"] = refBodyXSpace;
860
+ elemStore[prefix + "ySpace"] = refBodyYSpace;
861
+ elemStore[prefix + "emptyBlock"] = refBodyEmptyBlock;
858
862
  el.onscroll = scrollEvent;
859
863
  el._onscroll = scrollEvent;
860
864
  });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function u(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function c(e,l){var t=1;if(!e)return t;var o=e[B.value.children];if(ae.isTreeExpandByRow(e))for(var r=0;r<o.length;r++)t+=c(o[r],l);return t}function re(e){var l=e.row,t=e.column,o=ne.treeConfig,r=B.value,a=t.slots,n=t.treeNode,i=se.fullAllDataRowIdData[(0,_util.getRowid)(ae,l)],s=0,t=0,l=[];return i&&(s=i.level,t=i._index,l=i.items),a&&a.line?ae.callSlot(a.line,e):o&&n&&r.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(n=e,e=l,l=1,(t=t)&&(l=c(e[t-1],n)),ie.rowHeight*l-(t?1:12-u())+"px"),left:s*r.indent+(s?2-u():0)+16+"px"}})])]:[]}function q(d,v,p){var f=ne.stripe,h=ne.rowKey,x=ne.highlightHoverRow,g=ne.rowClassName,_=ne.rowStyle,m=ne.showOverflow,y=ne.editConfig,w=ne.treeConfig,b=ie.hasFixedColumn,T=ie.treeExpandeds,S=ie.scrollYLoad,C=ie.editStore,L=ie.rowExpandeds,O=ie.expandColumn,R=ie.selectRow,H=se.fullAllDataRowIdData,E=ve.value,I=t.value,D=B.value,M=ue.value,$=fe.value,k=D.transform,U=[];return v.forEach(function(t,o){var e={},r=ae.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){xe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=function(){xe()||ae.clearHoverRow()});var a=(0,_util.getRowid)(ae,t),l=H[a],n=0,i=-1,s=0;l&&(n=l.level,i=l.seq,s=l._index);var u,c={$table:ae,seq:i,rowid:a,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},l=!1;y&&(l=-1<ae.findRowIndexOf(C.insertList,t)),U.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":l,"row--new":l&&(M.showStatus||M.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":E.highlight&&ae.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:a,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||$.useKey||w?a:o},e),p.map(function(e,l){return A(i,a,d,n,t,r,o,s,e,l,p,v)}))),O&&L.length&&-1<ae.findRowIndexOf(L,t)&&(l=void 0,w&&(l={paddingLeft:n*D.indent+30+"px"}),u=O.showOverflow,c=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?m:u,u={$table:ae,seq:i,column:O,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},U.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+a,style:_?_xeUtils.default.isFunction(_)?_(u):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:l},[O.renderData(u)])])]))),!w||S||k||!T.length||(u=t[D.children])&&u.length&&-1<ae.findRowIndexOf(T,t)&&U.push.apply(U,q(d,u,p))}),U}function m(e,l,t,o){(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o)},300))}function o(e){var l=_.fixedType,t=ne.highlightHoverRow,o=ie.scrollXLoad,r=ie.scrollYLoad,a=se.elemStore,n=se.lastScrollTop,i=se.lastScrollLeft,s=fe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,v=a["main-body-ySpace"],p=a["main-body-xSpace"],a=(r&&v?v:u).clientHeight,v=(o&&p?p:u).clientWidth,p=h.scrollTop,i=(h=u.scrollLeft)!==i,n=p!==n;se.lastScrollTop=p,se.lastScrollLeft=h,se.lastScrollTime=Date.now(),(s.isHover||t)&&ae.clearHoverRow(),d&&"left"===l?(p=d.scrollTop,m(0,p,u,c)):c&&"right"===l?(p=c.scrollTop,m(0,p,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(ae.checkScrolling(),n&&m(0,p,d,c))),o&&i&&ae.triggerScrollXEvent(e),r&&n&&ae.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p,scrollLeft:h,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:a,bodyWidth:v,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ne.highlightHoverRow,r=ie.scrollYLoad,a=se.lastScrollTop,n=se.lastScrollLeft,i=fe.value,s=T.value,u=I.value,c=s.$el;((l=(s=l)<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(t=c.scrollLeft+t)!==n,(a=u!==a)&&(e.preventDefault(),se.lastScrollTop=u,se.lastScrollLeft=t,se.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),d(e,l,s,n,a),r&&ae.triggerScrollYEvent(e)))}var r,x,ae=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=ae.xID,ne=ae.props,w=ae.context,ie=ae.reactData,se=ae.internalData,e=ae.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=ae.getComputeMaps(),ue=e.computeEditOpts,R=e.computeMouseOpts,ce=e.computeSYOpts,H=e.computeEmptyOpts,E=e.computeKeyboardOpts,de=e.computeTooltipOpts,t=e.computeRadioOpts,B=e.computeTreeOpts,ve=e.computeCheckboxOpts,pe=e.computeValidOpts,fe=e.computeRowOpts,he=e.computeColumnOpts,I=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),U=(0,_vue.ref)(),Y=(0,_vue.ref)(),xe=function(){var e=ne.delayHover,l=se.lastScrollTime;return se._isResize||l&&Date.now()<l+e},A=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ne.columnKey,f=ne.height,h=ne.showOverflow,x=ne.cellClassName,g=ne.cellStyle,_=ne.align,m=ne.spanMethod,y=ne.mouseConfig,w=ne.editConfig,b=ne.editRules,T=ne.tooltipConfig,S=ie.tableData,C=ie.overflowX,L=ie.scrollYLoad,O=ie.currentColumn,R=ie.mergeList,H=ie.editStore,E=ie.validStore,I=ie.isAllOverflow,D=se.afterFullData,M=pe.value,$=ve.value,k=ue.value,U=de.value,q=fe.value,B=ce.value,Y=he.value,A=s.type,W=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,F=s.className,V=s.treeNode,K=H.actived,P=B.rHeight,z=q.height,G=U.showAll,J=ae.getColumnIndex(s),H=ae.getVTColumnIndex(s),B=(0,_utils.isEnableConf)(X),q=t?s.fixed!==t:s.fixed&&C,U=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===U,Q="title"===U,Z=!0===U||"tooltip"===U,N=Q||Z||C,U={},j=j||_,_=E.row===r&&E.column===s,f=b&&M.showMessage&&("default"===M.message?f||1<S.length:"inline"===M.message),M={colid:s.id},ee={$table:ae,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:J,$columnIndex:u,_columnIndex:H,fixed:t,type:renderType,isHidden:q,level:o,visibleData:D,data:S,items:d};if(L&&!N&&(C=N=!0),(Q||Z||G||T)&&(U.onMouseenter=function(e){xe()||(Q?(0,_dom.updateCellTitle)(e.currentTarget,s):(Z||G)&&ae.triggerBodyTooltipEvent(e,ee),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ee),e))}),(Z||G||T)&&(U.onMouseleave=function(e){xe()||((Z||G)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ee),e))}),($.range||y)&&(U.onMousedown=function(e){ae.triggerCellMousedownEvent(e,ee)}),U.onClick=function(e){ae.triggerCellClickEvent(e,ee)},U.onDblclick=function(e){ae.triggerCellDblclickEvent(e,ee)},R.length){var le=(0,_util.mergeBodyMethod)(R,i,H);if(le){var te=le.rowspan,oe=le.colspan;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}}else if(m){le=m(ee)||{},m=le.rowspan,te=void 0===m?1:m,le=le.colspan,oe=void 0===le?1:le;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}!(q=q&&R&&(1<M.colspan||1<M.rowspan)?!1:q)&&w&&(X||W)&&(k.showStatus||k.showUpdateStatus)&&(v=ae.isUpdateByRow(r,s.property));W=[];return q&&h&&I?W.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(W.push.apply(W,__spreadArray(__spreadArray([],re(ee)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:Q?ae.getCellLabel(r,s):null},s.renderCell(ee))])),f&&_&&W.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:E.rule&&E.rule.maxWidth?{width:E.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},E.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((E={})["col--"+j]=j,E["col--"+A]=A,E["col--last"]=u===c.length-1,E["col--tree-node"]=V,E["col--edit"]=B,E["col--ellipsis"]=N,E["fixed--hidden"]=q,E["col--dirty"]=v,E["col--actived"]=w&&B&&K.row===r&&(K.column===s||"row"===k.mode),E["col--valid-error"]=_,E["col--current"]=O===s,E),(0,_util.getPropClass)(F,ee),(0,_util.getPropClass)(x,ee)],key:p||Y.useKey?s.id:u},M),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(ee):g:null)}),U),W)},W=0,X=0,j=0,N=!1,d=function(a,n,e,i,s){var l=se.elemStore,t=ie.scrollXLoad,o=ie.scrollYLoad,r=T.value,u=C.value,c=L.value,d=u?u.$el:null,v=c?c.$el:null,p=r.$el,r=l["main-body-ySpace"],l=l["main-body-xSpace"],f=(o&&r?r:p).clientHeight,h=(t&&l?l:p).clientWidth,l=N===n?Math.max(0,W-j):0;N=n,W=Math.abs(n?e-l:e+l),j=X=0,clearTimeout(x),function e(){var l,t,o,r;j<W&&(l=_.fixedType,X=Math.max(5,Math.floor(1.5*X)),W<(j+=X)&&(X-=j-W),r=p.scrollTop,t=p.clientHeight,o=p.scrollHeight,r=r+X*(n?-1:1),p.scrollTop=r,d&&(d.scrollTop=r),v&&(v.scrollTop=r),(n?r<o-t:0<=r)&&(x=setTimeout(e,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:f,bodyWidth:h,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=se.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I.value,l[t+"table"]=D.value,l[t+"colgroup"]=M.value,l[t+"list"]=$.value,l[t+"xSpace"]=k.value,l[t+"ySpace"]=U.value,l[t+"emptyBlock"]=Y.value,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(x),e._onscroll=null,e.onscroll=null}),(0,_vue.onUnmounted)(function(){var e=_.fixedType,l=se.elemStore,e=(e||"main")+"-body-";l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ne.keyboardConfig,r=ne.showOverflow,a=ne.spanMethod,n=ne.mouseConfig,i=ie.tableData,s=ie.mergeList,u=ie.scrollYLoad,c=ie.isAllOverflow,d=se.visibleColumn,v=w.slots,p=ce.value,f=H.value,h=E.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?ae.callSlot(v.empty,{$table:ae}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:ae}):ne.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:U,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:D,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:M},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},q(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){ae.triggerCellExtendMousedownEvent(e,{$table:ae,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:Y},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function u(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function c(e,l){var t=1;if(!e)return t;var o=e[B.value.children];if(ae.isTreeExpandByRow(e))for(var r=0;r<o.length;r++)t+=c(o[r],l);return t}function re(e){var l=e.row,t=e.column,o=ne.treeConfig,r=B.value,a=t.slots,n=t.treeNode,i=se.fullAllDataRowIdData[(0,_util.getRowid)(ae,l)],s=0,t=0,l=[];return i&&(s=i.level,t=i._index,l=i.items),a&&a.line?ae.callSlot(a.line,e):o&&n&&r.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(n=e,e=l,l=1,(t=t)&&(l=c(e[t-1],n)),ie.rowHeight*l-(t?1:12-u())+"px"),left:s*r.indent+(s?2-u():0)+16+"px"}})])]:[]}function q(d,v,p){var f=ne.stripe,h=ne.rowKey,x=ne.highlightHoverRow,g=ne.rowClassName,_=ne.rowStyle,m=ne.showOverflow,y=ne.editConfig,w=ne.treeConfig,b=ie.hasFixedColumn,T=ie.treeExpandeds,S=ie.scrollYLoad,C=ie.editStore,L=ie.rowExpandeds,O=ie.expandColumn,R=ie.selectRow,H=se.fullAllDataRowIdData,E=ve.value,I=t.value,D=B.value,M=ue.value,$=fe.value,k=D.transform,U=[];return v.forEach(function(t,o){var e={},r=ae.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){xe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=function(){xe()||ae.clearHoverRow()});var a=(0,_util.getRowid)(ae,t),l=H[a],n=0,i=-1,s=0;l&&(n=l.level,i=l.seq,s=l._index);var u,c={$table:ae,seq:i,rowid:a,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},l=!1;y&&(l=-1<ae.findRowIndexOf(C.insertList,t)),U.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":l,"row--new":l&&(M.showStatus||M.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":E.highlight&&ae.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:a,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||$.useKey||w?a:o},e),p.map(function(e,l){return A(i,a,d,n,t,r,o,s,e,l,p,v)}))),O&&L.length&&-1<ae.findRowIndexOf(L,t)&&(l=void 0,w&&(l={paddingLeft:n*D.indent+30+"px"}),u=O.showOverflow,c=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?m:u,u={$table:ae,seq:i,column:O,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},U.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+a,style:_?_xeUtils.default.isFunction(_)?_(u):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:l},[O.renderData(u)])])]))),!w||S||k||!T.length||(u=t[D.children])&&u.length&&-1<ae.findRowIndexOf(T,t)&&U.push.apply(U,q(d,u,p))}),U}function m(e,l,t,o){(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o)},300))}function o(e){var l=_.fixedType,t=ne.highlightHoverRow,o=ie.scrollXLoad,r=ie.scrollYLoad,a=se.elemStore,n=se.lastScrollTop,i=se.lastScrollLeft,s=fe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,p=(v=a["main-body-ySpace"])?v.value:null,a=(v=a["main-body-xSpace"])?v.value:null,v=(r&&p?p:u).clientHeight,p=(o&&a?a:u).clientWidth,a=h.scrollTop,i=(h=u.scrollLeft)!==i,n=a!==n;se.lastScrollTop=a,se.lastScrollLeft=h,se.lastScrollTime=Date.now(),(s.isHover||t)&&ae.clearHoverRow(),d&&"left"===l?(a=d.scrollTop,m(0,a,u,c)):c&&"right"===l?(a=c.scrollTop,m(0,a,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(ae.checkScrolling(),n&&m(0,a,d,c))),o&&i&&ae.triggerScrollXEvent(e),r&&n&&ae.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:a,scrollLeft:h,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:p,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ne.highlightHoverRow,r=ie.scrollYLoad,a=se.lastScrollTop,n=se.lastScrollLeft,i=fe.value,s=T.value,u=I.value,c=s.$el;((l=(s=l)<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(t=c.scrollLeft+t)!==n,(a=u!==a)&&(e.preventDefault(),se.lastScrollTop=u,se.lastScrollLeft=t,se.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),d(e,l,s,n,a),r&&ae.triggerScrollYEvent(e)))}var r,x,ae=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=ae.xID,ne=ae.props,w=ae.context,ie=ae.reactData,se=ae.internalData,e=ae.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=ae.getComputeMaps(),ue=e.computeEditOpts,R=e.computeMouseOpts,ce=e.computeSYOpts,H=e.computeEmptyOpts,E=e.computeKeyboardOpts,de=e.computeTooltipOpts,t=e.computeRadioOpts,B=e.computeTreeOpts,ve=e.computeCheckboxOpts,pe=e.computeValidOpts,fe=e.computeRowOpts,he=e.computeColumnOpts,I=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),U=(0,_vue.ref)(),Y=(0,_vue.ref)(),xe=function(){var e=ne.delayHover,l=se.lastScrollTime;return se._isResize||l&&Date.now()<l+e},A=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ne.columnKey,f=ne.height,h=ne.showOverflow,x=ne.cellClassName,g=ne.cellStyle,_=ne.align,m=ne.spanMethod,y=ne.mouseConfig,w=ne.editConfig,b=ne.editRules,T=ne.tooltipConfig,S=ie.tableData,C=ie.overflowX,L=ie.scrollYLoad,O=ie.currentColumn,R=ie.mergeList,H=ie.editStore,E=ie.validStore,I=ie.isAllOverflow,D=se.afterFullData,M=pe.value,$=ve.value,k=ue.value,U=de.value,q=fe.value,B=ce.value,Y=he.value,A=s.type,W=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,F=s.className,V=s.treeNode,K=H.actived,P=B.rHeight,z=q.height,G=U.showAll,J=ae.getColumnIndex(s),H=ae.getVTColumnIndex(s),B=(0,_utils.isEnableConf)(X),q=t?s.fixed!==t:s.fixed&&C,U=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===U,Q="title"===U,Z=!0===U||"tooltip"===U,N=Q||Z||C,U={},j=j||_,_=E.row===r&&E.column===s,f=b&&M.showMessage&&("default"===M.message?f||1<S.length:"inline"===M.message),M={colid:s.id},ee={$table:ae,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:J,$columnIndex:u,_columnIndex:H,fixed:t,type:renderType,isHidden:q,level:o,visibleData:D,data:S,items:d};if(L&&!N&&(C=N=!0),(Q||Z||G||T)&&(U.onMouseenter=function(e){xe()||(Q?(0,_dom.updateCellTitle)(e.currentTarget,s):(Z||G)&&ae.triggerBodyTooltipEvent(e,ee),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ee),e))}),(Z||G||T)&&(U.onMouseleave=function(e){xe()||((Z||G)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ee),e))}),($.range||y)&&(U.onMousedown=function(e){ae.triggerCellMousedownEvent(e,ee)}),U.onClick=function(e){ae.triggerCellClickEvent(e,ee)},U.onDblclick=function(e){ae.triggerCellDblclickEvent(e,ee)},R.length){var le=(0,_util.mergeBodyMethod)(R,i,H);if(le){var te=le.rowspan,oe=le.colspan;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}}else if(m){le=m(ee)||{},m=le.rowspan,te=void 0===m?1:m,le=le.colspan,oe=void 0===le?1:le;if(!te||!oe)return null;1<te&&(M.rowspan=te),1<oe&&(M.colspan=oe)}!(q=q&&R&&(1<M.colspan||1<M.rowspan)?!1:q)&&w&&(X||W)&&(k.showStatus||k.showUpdateStatus)&&(v=ae.isUpdateByRow(r,s.property));W=[];return q&&h&&I?W.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(W.push.apply(W,__spreadArray(__spreadArray([],re(ee)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":Q,"c--tooltip":Z,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:Q?ae.getCellLabel(r,s):null},s.renderCell(ee))])),f&&_&&W.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:E.rule&&E.rule.maxWidth?{width:E.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},E.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((E={})["col--"+j]=j,E["col--"+A]=A,E["col--last"]=u===c.length-1,E["col--tree-node"]=V,E["col--edit"]=B,E["col--ellipsis"]=N,E["fixed--hidden"]=q,E["col--dirty"]=v,E["col--actived"]=w&&B&&K.row===r&&(K.column===s||"row"===k.mode),E["col--valid-error"]=_,E["col--current"]=O===s,E),(0,_util.getPropClass)(F,ee),(0,_util.getPropClass)(x,ee)],key:p||Y.useKey?s.id:u},M),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(ee):g:null)}),U),W)},W=0,X=0,j=0,N=!1,d=function(a,n,e,i,s){var l=se.elemStore,t=ie.scrollXLoad,o=ie.scrollYLoad,r=T.value,u=C.value,c=L.value,d=u?u.$el:null,v=c?c.$el:null,p=r.$el,r=l["main-body-ySpace"],r=r?r.value:null,l=l["main-body-xSpace"],l=l?l.value:null,f=(o&&r?r:p).clientHeight,h=(t&&l?l:p).clientWidth,l=N===n?Math.max(0,W-j):0;N=n,W=Math.abs(n?e-l:e+l),j=X=0,clearTimeout(x),function e(){var l,t,o,r;j<W&&(l=_.fixedType,X=Math.max(5,Math.floor(1.5*X)),W<(j+=X)&&(X-=j-W),r=p.scrollTop,t=p.clientHeight,o=p.scrollHeight,r=r+X*(n?-1:1),p.scrollTop=r,d&&(d.scrollTop=r),v&&(v.scrollTop=r),(n?r<o-t:0<=r)&&(x=setTimeout(e,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:f,bodyWidth:h,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=se.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I,l[t+"table"]=D,l[t+"colgroup"]=M,l[t+"list"]=$,l[t+"xSpace"]=k,l[t+"ySpace"]=U,l[t+"emptyBlock"]=Y,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(x),e._onscroll=null,e.onscroll=null}),(0,_vue.onUnmounted)(function(){var e=_.fixedType,l=se.elemStore,e=(e||"main")+"-body-";l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ne.keyboardConfig,r=ne.showOverflow,a=ne.spanMethod,n=ne.mouseConfig,i=ie.tableData,s=ie.mergeList,u=ie.scrollYLoad,c=ie.isAllOverflow,d=se.visibleColumn,v=w.slots,p=ce.value,f=H.value,h=E.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?ae.callSlot(v.empty,{$table:ae}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:ae}):ne.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:U,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:D,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:M},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},q(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){ae.triggerCellExtendMousedownEvent(e,{$table:ae,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:Y},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});exports.default=_default;
@@ -1119,14 +1119,21 @@ var _default = (0, _vue.defineComponent)({
1119
1119
  * 支持 px、%、固定 混合分配
1120
1120
  * 支持动态列表调整分配
1121
1121
  * 支持自动分配偏移量
1122
- * @param {Element} headerElem
1123
- * @param {Element} bodyElem
1124
- * @param {Element} footerElem
1125
- * @param {Number} bodyWidth
1126
1122
  */
1127
1123
 
1128
1124
 
1129
- var autoCellWidth = function autoCellWidth(headerElem, bodyElem, footerElem) {
1125
+ var autoCellWidth = function autoCellWidth() {
1126
+ var tableHeader = refTableHeader.value;
1127
+ var tableBody = refTableBody.value;
1128
+ var tableFooter = refTableFooter.value;
1129
+ var bodyElem = tableBody ? tableBody.$el : null;
1130
+ var headerElem = tableHeader ? tableHeader.$el : null;
1131
+ var footerElem = tableFooter ? tableFooter.$el : null;
1132
+
1133
+ if (!bodyElem) {
1134
+ return;
1135
+ }
1136
+
1130
1137
  var tableWidth = 0;
1131
1138
  var minCellWidth = 40; // 列宽最少限制 40px
1132
1139
 
@@ -1646,7 +1653,8 @@ var _default = (0, _vue.defineComponent)({
1646
1653
  var cellOffsetWidth = computeCellOffsetWidth.value;
1647
1654
  var mouseOpts = computeMouseOpts.value;
1648
1655
  var keyboardOpts = computeKeyboardOpts.value;
1649
- var bodyWrapperElem = elemStore['main-body-wrapper'];
1656
+ var bodyWrapperRef = elemStore['main-body-wrapper'];
1657
+ var bodyWrapperElem = bodyWrapperRef ? bodyWrapperRef.value : null;
1650
1658
 
1651
1659
  if (emptyPlaceholderElem) {
1652
1660
  emptyPlaceholderElem.style.top = headerHeight + "px";
@@ -1672,8 +1680,10 @@ var _default = (0, _vue.defineComponent)({
1672
1680
  }
1673
1681
 
1674
1682
  layoutList.forEach(function (layout) {
1675
- var wrapperElem = elemStore[name + "-" + layout + "-wrapper"];
1676
- var tableElem = elemStore[name + "-" + layout + "-table"];
1683
+ var wrapperRef = elemStore[name + "-" + layout + "-wrapper"];
1684
+ var wrapperElem = wrapperRef ? wrapperRef.value : null;
1685
+ var tableRef = elemStore[name + "-" + layout + "-table"];
1686
+ var tableElem = tableRef ? tableRef.value : null;
1677
1687
 
1678
1688
  if (layout === 'header') {
1679
1689
  // 表头体样式处理
@@ -1708,13 +1718,15 @@ var _default = (0, _vue.defineComponent)({
1708
1718
  }
1709
1719
  }
1710
1720
 
1711
- var repairElem = elemStore[name + "-" + layout + "-repair"];
1721
+ var repairRef = elemStore[name + "-" + layout + "-repair"];
1722
+ var repairElem = repairRef ? repairRef.value : null;
1712
1723
 
1713
1724
  if (repairElem) {
1714
1725
  repairElem.style.width = tableWidth + "px";
1715
1726
  }
1716
1727
 
1717
- var listElem = elemStore[name + "-" + layout + "-list"];
1728
+ var listRef = elemStore[name + "-" + layout + "-list"];
1729
+ var listElem = listRef ? listRef.value : null;
1718
1730
 
1719
1731
  if (isGroup && listElem) {
1720
1732
  _xeUtils.default.arrayEach(listElem.querySelectorAll('.col--group'), function (thElem) {
@@ -1748,7 +1760,8 @@ var _default = (0, _vue.defineComponent)({
1748
1760
  });
1749
1761
  }
1750
1762
  } else if (layout === 'body') {
1751
- var emptyBlockElem = elemStore[name + "-" + layout + "-emptyBlock"];
1763
+ var emptyBlockRef = elemStore[name + "-" + layout + "-emptyBlock"];
1764
+ var emptyBlockElem = emptyBlockRef ? emptyBlockRef.value : null;
1752
1765
 
1753
1766
  if ((0, _dom.isNodeElement)(wrapperElem)) {
1754
1767
  if (customMaxHeight) {
@@ -1834,7 +1847,8 @@ var _default = (0, _vue.defineComponent)({
1834
1847
  }
1835
1848
  }
1836
1849
 
1837
- var colgroupElem = elemStore[name + "-" + layout + "-colgroup"];
1850
+ var colgroupRef = elemStore[name + "-" + layout + "-colgroup"];
1851
+ var colgroupElem = colgroupRef ? colgroupRef.value : null;
1838
1852
 
1839
1853
  if (colgroupElem) {
1840
1854
  _xeUtils.default.arrayEach(colgroupElem.children, function (colElem) {
@@ -1864,7 +1878,8 @@ var _default = (0, _vue.defineComponent)({
1864
1878
  var showTitle = cellOverflow === 'title';
1865
1879
  var showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
1866
1880
  var hasEllipsis_1 = showTitle || showTooltip || showEllipsis;
1867
- var listElem = elemStore[name + "-" + layout + "-list"]; // 纵向虚拟滚动不支持动态行高
1881
+ var listRef = elemStore[name + "-" + layout + "-list"];
1882
+ var listElem = listRef ? listRef.value : null; // 纵向虚拟滚动不支持动态行高
1868
1883
 
1869
1884
  if (scrollYLoad && !hasEllipsis_1) {
1870
1885
  hasEllipsis_1 = true;
@@ -2195,7 +2210,7 @@ var _default = (0, _vue.defineComponent)({
2195
2210
  }
2196
2211
 
2197
2212
  if (childRecords) {
2198
- tableMethods.loadTreeChildren(row, childRecords).then(function (childRows) {
2213
+ return tableMethods.loadTreeChildren(row, childRecords).then(function (childRows) {
2199
2214
  if (childRows.length && $xetable.findRowIndexOf(treeExpandeds, row) === -1) {
2200
2215
  treeExpandeds.push(row);
2201
2216
  } // 如果当前节点已选中,则展开后子节点也被选中
@@ -2205,23 +2220,25 @@ var _default = (0, _vue.defineComponent)({
2205
2220
  tableMethods.setCheckboxRow(childRows, true);
2206
2221
  }
2207
2222
 
2208
- (0, _vue.nextTick)().then(function () {
2223
+ return (0, _vue.nextTick)().then(function () {
2209
2224
  if (transform) {
2210
2225
  return tablePrivateMethods.handleTableData();
2211
2226
  }
2212
- }).then(function () {
2213
- return tableMethods.recalculate();
2214
- }).then(function () {
2215
- return resolve();
2216
2227
  });
2217
2228
  });
2218
- } else {
2219
- (0, _vue.nextTick)().then(function () {
2220
- return tableMethods.recalculate();
2221
- }).then(function () {
2222
- return resolve();
2223
- });
2224
2229
  }
2230
+ }).catch(function () {
2231
+ rest.treeLoaded = false;
2232
+
2233
+ _xeUtils.default.remove(treeLazyLoadeds, function (item) {
2234
+ return $xetable.eqRow(item, row);
2235
+ });
2236
+ }).finally(function () {
2237
+ (0, _vue.nextTick)().then(function () {
2238
+ return tableMethods.recalculate();
2239
+ }).then(function () {
2240
+ return resolve();
2241
+ });
2225
2242
  });
2226
2243
  } else {
2227
2244
  resolve();
@@ -2245,31 +2262,29 @@ var _default = (0, _vue.defineComponent)({
2245
2262
  };
2246
2263
 
2247
2264
  var handleAsyncRowExpand = function handleAsyncRowExpand(row) {
2248
- var rowExpandeds = reactData.rowExpandeds,
2249
- expandLazyLoadeds = reactData.expandLazyLoadeds;
2250
2265
  var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
2251
- var rest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
2252
2266
  return new Promise(function (resolve) {
2253
2267
  var expandOpts = computeExpandOpts.value;
2254
2268
  var loadMethod = expandOpts.loadMethod;
2255
2269
 
2256
2270
  if (loadMethod) {
2257
- expandLazyLoadeds.push(row);
2271
+ var rest_1 = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
2272
+ reactData.expandLazyLoadeds.push(row);
2258
2273
  loadMethod({
2259
2274
  $table: $xetable,
2260
2275
  row: row,
2261
2276
  rowIndex: tableMethods.getRowIndex(row),
2262
2277
  $rowIndex: tableMethods.getVMRowIndex(row)
2263
- }).catch(function (e) {
2264
- return e;
2265
2278
  }).then(function () {
2266
- rest.expandLoaded = true;
2267
-
2268
- _xeUtils.default.remove(expandLazyLoadeds, function (item) {
2279
+ rest_1.expandLoaded = true;
2280
+ reactData.rowExpandeds.push(row);
2281
+ }).catch(function () {
2282
+ rest_1.expandLoaded = false;
2283
+ }).finally(function () {
2284
+ _xeUtils.default.remove(reactData.expandLazyLoadeds, function (item) {
2269
2285
  return $xetable.eqRow(item, row);
2270
2286
  });
2271
2287
 
2272
- rowExpandeds.push(row);
2273
2288
  resolve((0, _vue.nextTick)().then(function () {
2274
2289
  return tableMethods.recalculate();
2275
2290
  }));
@@ -3716,23 +3731,14 @@ var _default = (0, _vue.defineComponent)({
3716
3731
  * 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
3717
3732
  */
3718
3733
  recalculate: function recalculate(refull) {
3719
- var tableHeader = refTableHeader.value;
3720
- var tableBody = refTableBody.value;
3721
- var tableFooter = refTableFooter.value;
3722
- var bodyElem = tableBody ? tableBody.$el : null;
3723
- var headerElem = tableHeader ? tableHeader.$el : null;
3724
- var footerElem = tableFooter ? tableFooter.$el : null;
3725
-
3726
- if (bodyElem) {
3727
- autoCellWidth(headerElem, bodyElem, footerElem);
3734
+ autoCellWidth();
3728
3735
 
3729
- if (refull === true) {
3730
- // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
3731
- return computeScrollLoad().then(function () {
3732
- autoCellWidth(headerElem, bodyElem, footerElem);
3733
- return computeScrollLoad();
3734
- });
3735
- }
3736
+ if (refull === true) {
3737
+ // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
3738
+ return computeScrollLoad().then(function () {
3739
+ autoCellWidth();
3740
+ return computeScrollLoad();
3741
+ });
3736
3742
  }
3737
3743
 
3738
3744
  return computeScrollLoad();
@@ -6797,7 +6803,8 @@ var _default = (0, _vue.defineComponent)({
6797
6803
  containerList.forEach(function (name) {
6798
6804
  var layoutList = ['header', 'body', 'footer'];
6799
6805
  layoutList.forEach(function (layout) {
6800
- var xSpaceElem = elemStore[name + "-" + layout + "-xSpace"];
6806
+ var xSpaceRef = elemStore[name + "-" + layout + "-xSpace"];
6807
+ var xSpaceElem = xSpaceRef ? xSpaceRef.value : null;
6801
6808
 
6802
6809
  if (xSpaceElem) {
6803
6810
  xSpaceElem.style.width = scrollXLoad ? tableWidth + (layout === 'header' ? scrollbarWidth : 0) + "px" : '';
@@ -6828,14 +6835,16 @@ var _default = (0, _vue.defineComponent)({
6828
6835
 
6829
6836
  containerList.forEach(function (name) {
6830
6837
  var layoutList = ['header', 'body', 'footer'];
6831
- var tableElem = elemStore[name + "-body-table"];
6838
+ var tableRef = elemStore[name + "-body-table"];
6839
+ var tableElem = tableRef ? tableRef.value : null;
6832
6840
 
6833
6841
  if (tableElem) {
6834
6842
  tableElem.style.marginTop = marginTop;
6835
6843
  }
6836
6844
 
6837
6845
  layoutList.forEach(function (layout) {
6838
- var ySpaceElem = elemStore[name + "-" + layout + "-ySpace"];
6846
+ var ySpaceRef = elemStore[name + "-" + layout + "-ySpace"];
6847
+ var ySpaceElem = ySpaceRef ? ySpaceRef.value : null;
6839
6848
 
6840
6849
  if (ySpaceElem) {
6841
6850
  ySpaceElem.style.height = ySpaceHeight;
@@ -6845,14 +6854,14 @@ var _default = (0, _vue.defineComponent)({
6845
6854
  (0, _vue.nextTick)(updateStyle);
6846
6855
  },
6847
6856
  updateScrollXData: function updateScrollXData() {
6848
- reactData.tableColumn = [];
6857
+ // reactData.tableColumn = []
6849
6858
  (0, _vue.nextTick)(function () {
6850
6859
  handleTableColumn();
6851
6860
  tablePrivateMethods.updateScrollXSpace();
6852
6861
  });
6853
6862
  },
6854
6863
  updateScrollYData: function updateScrollYData() {
6855
- reactData.tableData = [];
6864
+ // reactData.tableData = []
6856
6865
  (0, _vue.nextTick)(function () {
6857
6866
  tablePrivateMethods.handleTableData();
6858
6867
  tablePrivateMethods.updateScrollYSpace();