vxe-table 4.2.2-beta.0 → 4.2.3-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 (66) hide show
  1. package/es/edit/src/hook.js +4 -2
  2. package/es/filter/src/hook.js +2 -1
  3. package/es/footer/src/footer.js +5 -5
  4. package/es/form/src/form.js +7 -4
  5. package/es/grid/src/grid.js +1 -1
  6. package/es/header/src/header.js +6 -6
  7. package/es/header/style.css +1 -5
  8. package/es/input/src/input.js +125 -27
  9. package/es/input/style.css +42 -13
  10. package/es/keyboard/src/hook.js +5 -1
  11. package/es/style.css +1 -1
  12. package/es/style.min.css +1 -1
  13. package/es/table/src/body.js +15 -11
  14. package/es/table/src/table.js +59 -48
  15. package/es/tools/log.js +1 -1
  16. package/es/v-x-e-table/index.js +1 -1
  17. package/helper/vetur/attributes.json +31 -19
  18. package/helper/vetur/tags.json +3 -0
  19. package/lib/edit/src/hook.js +6 -4
  20. package/lib/edit/src/hook.min.js +1 -1
  21. package/lib/filter/src/hook.js +2 -1
  22. package/lib/filter/src/hook.min.js +1 -1
  23. package/lib/footer/src/footer.js +5 -5
  24. package/lib/footer/src/footer.min.js +1 -1
  25. package/lib/form/src/form.js +11 -9
  26. package/lib/form/src/form.min.js +1 -1
  27. package/lib/grid/src/grid.js +1 -1
  28. package/lib/grid/src/grid.min.js +1 -1
  29. package/lib/header/src/header.js +6 -6
  30. package/lib/header/src/header.min.js +1 -1
  31. package/lib/header/style/style.css +1 -5
  32. package/lib/header/style/style.min.css +1 -1
  33. package/lib/index.umd.js +347 -128
  34. package/lib/index.umd.min.js +1 -1
  35. package/lib/input/src/input.js +166 -29
  36. package/lib/input/src/input.min.js +1 -1
  37. package/lib/input/style/style.css +42 -13
  38. package/lib/input/style/style.min.css +1 -1
  39. package/lib/keyboard/src/hook.js +7 -1
  40. package/lib/keyboard/src/hook.min.js +1 -1
  41. package/lib/style.css +1 -1
  42. package/lib/style.min.css +1 -1
  43. package/lib/table/src/body.js +15 -11
  44. package/lib/table/src/body.min.js +1 -1
  45. package/lib/table/src/table.js +66 -56
  46. package/lib/table/src/table.min.js +1 -1
  47. package/lib/tools/log.js +1 -1
  48. package/lib/tools/log.min.js +1 -1
  49. package/lib/v-x-e-table/index.js +1 -1
  50. package/lib/v-x-e-table/index.min.js +1 -1
  51. package/package.json +1 -1
  52. package/packages/edit/src/hook.ts +4 -2
  53. package/packages/filter/src/hook.ts +3 -2
  54. package/packages/footer/src/footer.ts +5 -5
  55. package/packages/form/src/form.ts +7 -5
  56. package/packages/grid/src/grid.ts +1 -1
  57. package/packages/header/src/header.ts +6 -6
  58. package/packages/input/src/input.ts +128 -27
  59. package/packages/keyboard/src/hook.ts +6 -2
  60. package/packages/table/src/body.ts +15 -11
  61. package/packages/table/src/table.ts +58 -46
  62. package/packages/tools/dom.ts +1 -1
  63. package/styles/header.scss +1 -1
  64. package/styles/input.scss +16 -4
  65. package/types/input.d.ts +2 -0
  66. 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
 
@@ -1238,6 +1245,7 @@ var _default = (0, _vue.defineComponent)({
1238
1245
  });
1239
1246
  }
1240
1247
 
1248
+ console.log(headerHeight);
1241
1249
  internalData.headerHeight = headerHeight;
1242
1250
  var overflowX = false;
1243
1251
  var footerHeight = 0;
@@ -1646,7 +1654,8 @@ var _default = (0, _vue.defineComponent)({
1646
1654
  var cellOffsetWidth = computeCellOffsetWidth.value;
1647
1655
  var mouseOpts = computeMouseOpts.value;
1648
1656
  var keyboardOpts = computeKeyboardOpts.value;
1649
- var bodyWrapperElem = elemStore['main-body-wrapper'];
1657
+ var bodyWrapperRef = elemStore['main-body-wrapper'];
1658
+ var bodyWrapperElem = bodyWrapperRef ? bodyWrapperRef.value : null;
1650
1659
 
1651
1660
  if (emptyPlaceholderElem) {
1652
1661
  emptyPlaceholderElem.style.top = headerHeight + "px";
@@ -1672,8 +1681,10 @@ var _default = (0, _vue.defineComponent)({
1672
1681
  }
1673
1682
 
1674
1683
  layoutList.forEach(function (layout) {
1675
- var wrapperElem = elemStore[name + "-" + layout + "-wrapper"];
1676
- var tableElem = elemStore[name + "-" + layout + "-table"];
1684
+ var wrapperRef = elemStore[name + "-" + layout + "-wrapper"];
1685
+ var wrapperElem = wrapperRef ? wrapperRef.value : null;
1686
+ var tableRef = elemStore[name + "-" + layout + "-table"];
1687
+ var tableElem = tableRef ? tableRef.value : null;
1677
1688
 
1678
1689
  if (layout === 'header') {
1679
1690
  // 表头体样式处理
@@ -1708,13 +1719,15 @@ var _default = (0, _vue.defineComponent)({
1708
1719
  }
1709
1720
  }
1710
1721
 
1711
- var repairElem = elemStore[name + "-" + layout + "-repair"];
1722
+ var repairRef = elemStore[name + "-" + layout + "-repair"];
1723
+ var repairElem = repairRef ? repairRef.value : null;
1712
1724
 
1713
1725
  if (repairElem) {
1714
1726
  repairElem.style.width = tableWidth + "px";
1715
1727
  }
1716
1728
 
1717
- var listElem = elemStore[name + "-" + layout + "-list"];
1729
+ var listRef = elemStore[name + "-" + layout + "-list"];
1730
+ var listElem = listRef ? listRef.value : null;
1718
1731
 
1719
1732
  if (isGroup && listElem) {
1720
1733
  _xeUtils.default.arrayEach(listElem.querySelectorAll('.col--group'), function (thElem) {
@@ -1748,7 +1761,8 @@ var _default = (0, _vue.defineComponent)({
1748
1761
  });
1749
1762
  }
1750
1763
  } else if (layout === 'body') {
1751
- var emptyBlockElem = elemStore[name + "-" + layout + "-emptyBlock"];
1764
+ var emptyBlockRef = elemStore[name + "-" + layout + "-emptyBlock"];
1765
+ var emptyBlockElem = emptyBlockRef ? emptyBlockRef.value : null;
1752
1766
 
1753
1767
  if ((0, _dom.isNodeElement)(wrapperElem)) {
1754
1768
  if (customMaxHeight) {
@@ -1834,7 +1848,8 @@ var _default = (0, _vue.defineComponent)({
1834
1848
  }
1835
1849
  }
1836
1850
 
1837
- var colgroupElem = elemStore[name + "-" + layout + "-colgroup"];
1851
+ var colgroupRef = elemStore[name + "-" + layout + "-colgroup"];
1852
+ var colgroupElem = colgroupRef ? colgroupRef.value : null;
1838
1853
 
1839
1854
  if (colgroupElem) {
1840
1855
  _xeUtils.default.arrayEach(colgroupElem.children, function (colElem) {
@@ -1864,7 +1879,8 @@ var _default = (0, _vue.defineComponent)({
1864
1879
  var showTitle = cellOverflow === 'title';
1865
1880
  var showTooltip = cellOverflow === true || cellOverflow === 'tooltip';
1866
1881
  var hasEllipsis_1 = showTitle || showTooltip || showEllipsis;
1867
- var listElem = elemStore[name + "-" + layout + "-list"]; // 纵向虚拟滚动不支持动态行高
1882
+ var listRef = elemStore[name + "-" + layout + "-list"];
1883
+ var listElem = listRef ? listRef.value : null; // 纵向虚拟滚动不支持动态行高
1868
1884
 
1869
1885
  if (scrollYLoad && !hasEllipsis_1) {
1870
1886
  hasEllipsis_1 = true;
@@ -2195,7 +2211,7 @@ var _default = (0, _vue.defineComponent)({
2195
2211
  }
2196
2212
 
2197
2213
  if (childRecords) {
2198
- tableMethods.loadTreeChildren(row, childRecords).then(function (childRows) {
2214
+ return tableMethods.loadTreeChildren(row, childRecords).then(function (childRows) {
2199
2215
  if (childRows.length && $xetable.findRowIndexOf(treeExpandeds, row) === -1) {
2200
2216
  treeExpandeds.push(row);
2201
2217
  } // 如果当前节点已选中,则展开后子节点也被选中
@@ -2205,23 +2221,25 @@ var _default = (0, _vue.defineComponent)({
2205
2221
  tableMethods.setCheckboxRow(childRows, true);
2206
2222
  }
2207
2223
 
2208
- (0, _vue.nextTick)().then(function () {
2224
+ return (0, _vue.nextTick)().then(function () {
2209
2225
  if (transform) {
2210
2226
  return tablePrivateMethods.handleTableData();
2211
2227
  }
2212
- }).then(function () {
2213
- return tableMethods.recalculate();
2214
- }).then(function () {
2215
- return resolve();
2216
2228
  });
2217
2229
  });
2218
- } else {
2219
- (0, _vue.nextTick)().then(function () {
2220
- return tableMethods.recalculate();
2221
- }).then(function () {
2222
- return resolve();
2223
- });
2224
2230
  }
2231
+ }).catch(function () {
2232
+ rest.treeLoaded = false;
2233
+
2234
+ _xeUtils.default.remove(treeLazyLoadeds, function (item) {
2235
+ return $xetable.eqRow(item, row);
2236
+ });
2237
+ }).finally(function () {
2238
+ (0, _vue.nextTick)().then(function () {
2239
+ return tableMethods.recalculate();
2240
+ }).then(function () {
2241
+ return resolve();
2242
+ });
2225
2243
  });
2226
2244
  } else {
2227
2245
  resolve();
@@ -2245,31 +2263,29 @@ var _default = (0, _vue.defineComponent)({
2245
2263
  };
2246
2264
 
2247
2265
  var handleAsyncRowExpand = function handleAsyncRowExpand(row) {
2248
- var rowExpandeds = reactData.rowExpandeds,
2249
- expandLazyLoadeds = reactData.expandLazyLoadeds;
2250
2266
  var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
2251
- var rest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
2252
2267
  return new Promise(function (resolve) {
2253
2268
  var expandOpts = computeExpandOpts.value;
2254
2269
  var loadMethod = expandOpts.loadMethod;
2255
2270
 
2256
2271
  if (loadMethod) {
2257
- expandLazyLoadeds.push(row);
2272
+ var rest_1 = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
2273
+ reactData.expandLazyLoadeds.push(row);
2258
2274
  loadMethod({
2259
2275
  $table: $xetable,
2260
2276
  row: row,
2261
2277
  rowIndex: tableMethods.getRowIndex(row),
2262
2278
  $rowIndex: tableMethods.getVMRowIndex(row)
2263
- }).catch(function (e) {
2264
- return e;
2265
2279
  }).then(function () {
2266
- rest.expandLoaded = true;
2267
-
2268
- _xeUtils.default.remove(expandLazyLoadeds, function (item) {
2280
+ rest_1.expandLoaded = true;
2281
+ reactData.rowExpandeds.push(row);
2282
+ }).catch(function () {
2283
+ rest_1.expandLoaded = false;
2284
+ }).finally(function () {
2285
+ _xeUtils.default.remove(reactData.expandLazyLoadeds, function (item) {
2269
2286
  return $xetable.eqRow(item, row);
2270
2287
  });
2271
2288
 
2272
- rowExpandeds.push(row);
2273
2289
  resolve((0, _vue.nextTick)().then(function () {
2274
2290
  return tableMethods.recalculate();
2275
2291
  }));
@@ -3716,23 +3732,14 @@ var _default = (0, _vue.defineComponent)({
3716
3732
  * 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
3717
3733
  */
3718
3734
  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);
3735
+ autoCellWidth();
3728
3736
 
3729
- if (refull === true) {
3730
- // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
3731
- return computeScrollLoad().then(function () {
3732
- autoCellWidth(headerElem, bodyElem, footerElem);
3733
- return computeScrollLoad();
3734
- });
3735
- }
3737
+ if (refull === true) {
3738
+ // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
3739
+ return computeScrollLoad().then(function () {
3740
+ autoCellWidth();
3741
+ return computeScrollLoad();
3742
+ });
3736
3743
  }
3737
3744
 
3738
3745
  return computeScrollLoad();
@@ -6797,7 +6804,8 @@ var _default = (0, _vue.defineComponent)({
6797
6804
  containerList.forEach(function (name) {
6798
6805
  var layoutList = ['header', 'body', 'footer'];
6799
6806
  layoutList.forEach(function (layout) {
6800
- var xSpaceElem = elemStore[name + "-" + layout + "-xSpace"];
6807
+ var xSpaceRef = elemStore[name + "-" + layout + "-xSpace"];
6808
+ var xSpaceElem = xSpaceRef ? xSpaceRef.value : null;
6801
6809
 
6802
6810
  if (xSpaceElem) {
6803
6811
  xSpaceElem.style.width = scrollXLoad ? tableWidth + (layout === 'header' ? scrollbarWidth : 0) + "px" : '';
@@ -6828,14 +6836,16 @@ var _default = (0, _vue.defineComponent)({
6828
6836
 
6829
6837
  containerList.forEach(function (name) {
6830
6838
  var layoutList = ['header', 'body', 'footer'];
6831
- var tableElem = elemStore[name + "-body-table"];
6839
+ var tableRef = elemStore[name + "-body-table"];
6840
+ var tableElem = tableRef ? tableRef.value : null;
6832
6841
 
6833
6842
  if (tableElem) {
6834
6843
  tableElem.style.marginTop = marginTop;
6835
6844
  }
6836
6845
 
6837
6846
  layoutList.forEach(function (layout) {
6838
- var ySpaceElem = elemStore[name + "-" + layout + "-ySpace"];
6847
+ var ySpaceRef = elemStore[name + "-" + layout + "-ySpace"];
6848
+ var ySpaceElem = ySpaceRef ? ySpaceRef.value : null;
6839
6849
 
6840
6850
  if (ySpaceElem) {
6841
6851
  ySpaceElem.style.height = ySpaceHeight;
@@ -6845,14 +6855,14 @@ var _default = (0, _vue.defineComponent)({
6845
6855
  (0, _vue.nextTick)(updateStyle);
6846
6856
  },
6847
6857
  updateScrollXData: function updateScrollXData() {
6848
- reactData.tableColumn = [];
6858
+ // reactData.tableColumn = []
6849
6859
  (0, _vue.nextTick)(function () {
6850
6860
  handleTableColumn();
6851
6861
  tablePrivateMethods.updateScrollXSpace();
6852
6862
  });
6853
6863
  },
6854
6864
  updateScrollYData: function updateScrollYData() {
6855
- reactData.tableData = [];
6865
+ // reactData.tableData = []
6856
6866
  (0, _vue.nextTick)(function () {
6857
6867
  tablePrivateMethods.handleTableData();
6858
6868
  tablePrivateMethods.updateScrollYSpace();