vxe-table 3.11.18 → 3.11.21

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 (34) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/custom/panel.js +3 -0
  3. package/es/table/src/body.js +2 -1
  4. package/es/table/src/methods.js +64 -33
  5. package/es/table/src/table.js +7 -2
  6. package/es/ui/index.js +8 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/index.umd.js +93 -42
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/style.css +1 -1
  11. package/lib/table/module/custom/panel.js +3 -0
  12. package/lib/table/module/custom/panel.min.js +1 -1
  13. package/lib/table/src/body.js +2 -1
  14. package/lib/table/src/body.min.js +1 -1
  15. package/lib/table/src/methods.js +71 -37
  16. package/lib/table/src/methods.min.js +1 -1
  17. package/lib/table/src/table.js +7 -2
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +8 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +2 -2
  24. package/packages/table/module/custom/panel.ts +3 -0
  25. package/packages/table/src/body.ts +2 -1
  26. package/packages/table/src/methods.ts +74 -38
  27. package/packages/table/src/table.ts +7 -2
  28. package/packages/ui/index.ts +7 -0
  29. /package/es/{iconfont.1733356525791.ttf → iconfont.1733469864818.ttf} +0 -0
  30. /package/es/{iconfont.1733356525791.woff → iconfont.1733469864818.woff} +0 -0
  31. /package/es/{iconfont.1733356525791.woff2 → iconfont.1733469864818.woff2} +0 -0
  32. /package/lib/{iconfont.1733356525791.ttf → iconfont.1733469864818.ttf} +0 -0
  33. /package/lib/{iconfont.1733356525791.woff → iconfont.1733469864818.woff} +0 -0
  34. /package/lib/{iconfont.1733356525791.woff2 → iconfont.1733469864818.woff2} +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:F,height:g,columnKey:N,overflowX:h,sYOpts:v,scrollXLoad:V,scrollYLoad:W,highlightCurrentRow:P,showOverflow:X,isAllOverflow:j,align:z,currentColumn:K,cellClassName:G,cellStyle:m,mergeList:w,spanMethod:J,radioOpts:Q,checkboxOpts:x,expandOpts:Z,treeOpts:ee,tooltipOpts:y,mouseConfig:le,editConfig:f,editOpts:b,editRules:S,validOpts:T,editStore:te,tooltipConfig:re,rowOpts:oe,columnOpts:se,mouseOpts:ae,areaOpts:_,validErrorMaps:C}=l,_=_.selectCellToRow,ie=l.computeCellOpts,{type:ne,cellRender:de,editRender:$,align:ce,showOverflow:O,className:pe,treeNode:ue,slots:ge}=d,ie=ie.verticalAlign,te=te.actived,v=v.rHeight,E=oe.height,R=$||de,R=R?renderer.get(R.name):null,he=R?R.tableCellClassName||R.cellClassName:"",ve=R?R.tableCellStyle||R.cellStyle:"";let D=y.showAll||y.enabled;var y=l.getColumnIndex(d),me=l.getVTColumnIndex(d),we=(0,_utils.isEnableConf)($);let L=o?d.fixed!==o:d.fixed&&h;h=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?X:O,O="ellipsis"===h;let I="title"===h,k=!0===h||"tooltip"===h;h=I||k||O;let xe;var M={},A=A[r],ce=ce||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=S&&T.showMessage&&("default"===T.message?g||1<F.length:"inline"===T.message),C={colid:d.id};let ye=p["cell-mouseenter"],fe=p["cell-mouseleave"];S=$&&f&&"dblclick"===b.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:y,$columnIndex:c,_columnIndex:me,fixed:o,type:renderType,isHidden:L,level:s,visibleData:u,data:F,items:q};if((I||k||D||ye||re)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):(k||D)&&l.triggerBodyTooltipEvent(e,Y),ye&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(k||D||fe||re)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((k||D)&&l.handleTargetLeaveEvent(e),fe&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(x.range||le)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(oe.isCurrent||P||p["cell-click"]||$&&f||"row"===Z.trigger||"cell"===Z.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===x.trigger||"checkbox"===d.type&&"cell"===x.trigger||"row"===ee.trigger||d.treeNode&&"cell"===ee.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,Y)}),(S||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),w.length){g=(0,_util.mergeBodyMethod)(w,B,me);if(g){var{rowspan:t,colspan:r}=g;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(C.rowspan=i),1<n&&(C.colspan=n)}!(L=L&&w&&(1<C.colspan||1<C.rowspan)?!1:L)&&f&&($||de)&&(b.showStatus||b.showUpdateStatus)&&(xe=l.isUpdateByRow(a,d.field));y=[];L&&X&&j?y.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""}})):(y.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&R&&(o=R.rule,s=ge?ge.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),R),{rule:R}),y.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(T.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(T.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let be="";return h&&(v||E)?be=`${v||E}px`:!V&&!W||h||(be=`${A.height||24}px`),le&&ae.area&&_&&((c||!0!==_)&&_!==d.field||y.push(e("div",{class:"vxe-cell--area-status"}))),e("td",{class:["vxe-body--column",d.id,{["col--"+ce]:ce,["col--vertical-"+ie]:ie,["col--"+ne]:ne,"col--last":c===U.length-1,"col--tree-node":ue,"col--edit":we,"col--ellipsis":h,"fixed--hidden":L,"col--dirty":xe,"col--active":f&&we&&te.row===a&&(te.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":K===d},(0,_utils.getClass)(he,Y),(0,_utils.getClass)(pe,Y),(0,_utils.getClass)(G,Y)],key:N||se.useKey||oe.useKey?d.id:c,attrs:C,style:Object.assign({height:be},_xeUtils.default.isFunction(ve)?ve(Y):ve,_xeUtils.default.isFunction(m)?m(Y):m),on:M},y)}function renderRows(m,w,x,y,f,b){let{stripe:S,rowKey:T,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:E,treeConfig:R,treeOpts:D,expandOpts:L,editOpts:I,treeExpandedMaps:k,scrollYLoad:M,rowExpandedMaps:Y,radioOpts:H,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:A,rowOpts:F,pendingRowList:N,pendingRowMaps:V,columnOpts:W,isDragColMove:P}=x,{transform:X,seqMode:j}=D,z=D.children||D.childrenField,K=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(F.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=A[s];let a=0,i=-1,n=0;l&&(a=l.level,i=R&&X&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=U&&!!Y[s];let c=!1,p=[],u=!1;O&&(u=x.isInsertByRow(t)),!R||M||D.transform||(p=t[z],c=p&&p.length&&!!k[s]),F.drag&&!a&&(e.dragstart=e=>{x.handleRowDragDragstartEvent(e)},e.dragover=e=>{x.handleRowDragDragoverEvent(e)},e.dragend=e=>{x.handleRowDragDragendEvent(e)});var g,h=["vxe-body--row",R?"row--level-"+a:"",{"row--stripe":S&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(I.showStatus||I.showInsertStatus),"row--radio":H.highlight&&x.selectRadioRow===t,"row--checked":B.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":N.length&&!!V[s]},C?_xeUtils.default.isFunction(C)?C(l):C:""],v=b.map((e,l)=>renderColumn(m,w,x,i,s,y,a,t,o,r,n,e,l,b,f));K.push(W.drag?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(P?"":"-disabled")},class:h,attrs:{rowid:s},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||F.useKey||F.drag||R?s:r,nativeOn:e},v):m("tr",{class:h,attrs:{rowid:s},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||F.useKey||F.drag||R?s:r,on:e},v)),d&&({height:h,padding:l}=L,v={},d=(h&&(v.height=h+"px"),R&&(v.paddingLeft=a*D.indent+30+"px"),U).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?E:d,g={$table:x,seq:i,column:U,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:$?_xeUtils.default.isFunction($)?$(g):$:null,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!q,"col--ellipsis":d},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:v},[U.renderData(m,g)])])]))),c&&K.push(...renderRows(m,w,x,y,p,b))}),K}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){var e=this.$parent;let{_e:l,$parent:r,fixedColumn:o,fixedType:s}=this,{$scopedSlots:a,tId:i,tableData:n,tableColumn:d,visibleColumn:c,expandColumn:p,showOverflow:u,keyboardConfig:g,keyboardOpts:h,mergeList:v,spanMethod:m,scrollXLoad:w,scrollYLoad:x,isAllOverflow:y,emptyOpts:f,mouseConfig:b,mouseOpts:S,sYOpts:T,rowOpts:_,isDragRowMove:C}=r;s&&(d=p||!(w||x||u&&y)||v.length||m||g&&h.isMerge?c:o);let $;$=a.empty?a.empty.call(this,{$table:r},t):(O=(O=f.name?renderer.get(f.name):null)?O.renderTableEmpty||O.renderTableEmptyView||O.renderEmpty:null)?(0,_vn.getSlotVNs)(O.call(this,t,f,{$table:r})):r.emptyText||getI18n("vxe.table.emptyText");var O={scroll:this.scrollEvent};return"wheel"===T.mode&&(O.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",s?`fixed-${s}--wrapper`:"body--wrapper"],attrs:{xid:i},on:O},[s?l():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},d.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(C?"":"-disabled")}},renderRows(t,this,r,s,n,d)):t("tbody",{ref:"tbody"},renderRows(t,this,r,s,n,d))]),t("div",{class:"vxe-table--checkbox-range"}),b&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){r.triggerCellAreaExtendMousedownEvent&&r.triggerCellAreaExtendMousedownEvent(e,{$table:r,fixed:s,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(e),s?renderEmptyElement(e):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},$)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,m=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:m,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:F,height:g,columnKey:N,overflowX:h,sYOpts:v,scrollXLoad:V,scrollYLoad:W,highlightCurrentRow:P,showOverflow:m,isAllOverflow:X,align:j,currentColumn:z,cellClassName:K,cellStyle:w,mergeList:x,spanMethod:G,radioOpts:J,checkboxOpts:y,expandOpts:Q,treeOpts:Z,tooltipOpts:f,mouseConfig:ee,editConfig:b,editOpts:S,editRules:le,validOpts:T,editStore:te,tooltipConfig:re,rowOpts:oe,columnOpts:se,mouseOpts:ae,areaOpts:_,validErrorMaps:C}=l,_=_.selectCellToRow,ie=l.computeCellOpts,{type:ne,cellRender:de,editRender:$,align:ce,showOverflow:O,className:pe,treeNode:ue,slots:ge}=d,ie=ie.verticalAlign,te=te.actived,v=v.rHeight,E=oe.height,R=$||de,R=R?renderer.get(R.name):null,he=R?R.tableCellClassName||R.cellClassName:"",ve=R?R.tableCellStyle||R.cellStyle:"";let D=f.showAll||f.enabled;var f=l.getColumnIndex(d),me=l.getVTColumnIndex(d),we=(0,_utils.isEnableConf)($);let L=o?d.fixed!==o:d.fixed&&h;h=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?m:O,O="ellipsis"===h;let I="title"===h,k=!0===h||"tooltip"===h;h=m||I||k||O;let xe;var M={},A=A[r],ce=ce||(R?R.tableCellAlign:"")||j,R=C[r+":"+d.id],j=le&&T.showMessage&&("default"===T.message?g||1<F.length:"inline"===T.message),C={colid:d.id};let ye=p["cell-mouseenter"],fe=p["cell-mouseleave"];le=$&&b&&"dblclick"===S.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:f,$columnIndex:c,_columnIndex:me,fixed:o,type:renderType,isHidden:L,level:s,visibleData:u,data:F,items:q};if((I||k||D||ye||re)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):(k||D)&&l.triggerBodyTooltipEvent(e,Y),ye&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(k||D||fe||re)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((k||D)&&l.handleTargetLeaveEvent(e),fe&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(y.range||ee)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(oe.isCurrent||P||p["cell-click"]||$&&b||"row"===Q.trigger||"cell"===Q.trigger||"row"===J.trigger||"radio"===d.type&&"cell"===J.trigger||"row"===y.trigger||"checkbox"===d.type&&"cell"===y.trigger||"row"===Z.trigger||d.treeNode&&"cell"===Z.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,Y)}),(le||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),x.length){g=(0,_util.mergeBodyMethod)(x,B,me);if(g){var{rowspan:t,colspan:r}=g;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(G){var{rowspan:i=1,colspan:n=1}=G(Y)||{};if(!i||!n)return null;1<i&&(C.rowspan=i),1<n&&(C.colspan=n)}!(L=L&&x&&(1<C.colspan||1<C.rowspan)?!1:L)&&b&&($||de)&&(S.showStatus||S.showUpdateStatus)&&(xe=l.isUpdateByRow(a,d.field));f=[];L&&m&&X?f.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""}})):(f.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),j&&R&&(o=R.rule,s=ge?ge.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),R),{rule:R}),f.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(T.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(T.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let be="";return h&&(v||E)?be=`${v||E}px`:!V&&!W||h||(be=`${A.height||24}px`),ee&&ae.area&&_&&((c||!0!==_)&&_!==d.field||f.push(e("div",{class:"vxe-cell--area-status"}))),e("td",{class:["vxe-body--column",d.id,{["col--"+ce]:ce,["col--vertical-"+ie]:ie,["col--"+ne]:ne,"col--last":c===U.length-1,"col--tree-node":ue,"col--edit":we,"col--ellipsis":h,"fixed--hidden":L,"col--dirty":xe,"col--active":b&&we&&te.row===a&&(te.column===d||"row"===S.mode),"col--valid-error":!!R,"col--current":z===d},(0,_utils.getClass)(he,Y),(0,_utils.getClass)(pe,Y),(0,_utils.getClass)(K,Y)],key:N||se.useKey||oe.useKey?d.id:c,attrs:C,style:Object.assign({height:be},_xeUtils.default.isFunction(ve)?ve(Y):ve,_xeUtils.default.isFunction(w)?w(Y):w),on:M},f)}function renderRows(m,w,x,y,f,b){let{stripe:S,rowKey:T,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:E,treeConfig:R,treeOpts:D,expandOpts:L,editOpts:I,treeExpandedMaps:k,scrollYLoad:M,rowExpandedMaps:Y,radioOpts:H,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:A,rowOpts:F,pendingRowList:N,pendingRowMaps:V,columnOpts:W,isDragColMove:P}=x,{transform:X,seqMode:j}=D,z=D.children||D.childrenField,K=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(F.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=A[s];let a=0,i=-1,n=0;l&&(a=l.level,i=R&&X&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=U&&!!Y[s];let c=!1,p=[],u=!1;O&&(u=x.isInsertByRow(t)),!R||M||D.transform||(p=t[z],c=p&&p.length&&!!k[s]),F.drag&&!a&&(e.dragstart=e=>{x.handleRowDragDragstartEvent(e)},e.dragover=e=>{x.handleRowDragDragoverEvent(e)},e.dragend=e=>{x.handleRowDragDragendEvent(e)});var g,h=["vxe-body--row",R?"row--level-"+a:"",{"row--stripe":S&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(I.showStatus||I.showInsertStatus),"row--radio":H.highlight&&x.selectRadioRow===t,"row--checked":B.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":N.length&&!!V[s]},C?_xeUtils.default.isFunction(C)?C(l):C:""],v=b.map((e,l)=>renderColumn(m,w,x,i,s,y,a,t,o,r,n,e,l,b,f));K.push(W.drag?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(P?"":"-disabled")},class:h,attrs:{rowid:s},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||F.useKey||F.drag||R?s:r,nativeOn:e},v):m("tr",{class:h,attrs:{rowid:s},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||F.useKey||F.drag||R?s:r,on:e},v)),d&&({height:h,padding:l}=L,v={},d=(h&&(v.height=h+"px"),R&&(v.paddingLeft=a*D.indent+30+"px"),U).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?E:d,g={$table:x,seq:i,column:U,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:$?_xeUtils.default.isFunction($)?$(g):$:null,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!q,"col--ellipsis":d},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:v},[U.renderData(m,g)])])]))),c&&K.push(...renderRows(m,w,x,y,p,b))}),K}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){var e=this.$parent;let{_e:l,$parent:r,fixedColumn:o,fixedType:s}=this,{$scopedSlots:a,tId:i,tableData:n,tableColumn:d,visibleColumn:c,expandColumn:p,showOverflow:u,keyboardConfig:g,keyboardOpts:h,mergeList:v,spanMethod:m,scrollXLoad:w,scrollYLoad:x,isAllOverflow:y,emptyOpts:f,mouseConfig:b,mouseOpts:S,sYOpts:T,rowOpts:_,isDragRowMove:C}=r;s&&(d=p||!(w||x||u&&y)||v.length||m||g&&h.isMerge?c:o);let $;$=a.empty?a.empty.call(this,{$table:r},t):(O=(O=f.name?renderer.get(f.name):null)?O.renderTableEmpty||O.renderTableEmptyView||O.renderEmpty:null)?(0,_vn.getSlotVNs)(O.call(this,t,f,{$table:r})):r.emptyText||getI18n("vxe.table.emptyText");var O={scroll:this.scrollEvent};return"wheel"===T.mode&&(O.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",s?`fixed-${s}--wrapper`:"body--wrapper"],attrs:{xid:i},on:O},[s?l():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},d.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(C?"":"-disabled")}},renderRows(t,this,r,s,n,d)):t("tbody",{ref:"tbody"},renderRows(t,this,r,s,n,d))]),t("div",{class:"vxe-table--checkbox-range"}),b&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){r.triggerCellAreaExtendMousedownEvent&&r.triggerCellAreaExtendMousedownEvent(e,{$table:r,fixed:s,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(e),s?renderEmptyElement(e):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},$)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,m=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:m,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
@@ -755,6 +755,7 @@ const Methods = {
755
755
  * @param {Array} datas 数据
756
756
  */
757
757
  loadTableData(datas) {
758
+ const $xeTable = this;
758
759
  const {
759
760
  keepSource,
760
761
  showOverflow,
@@ -770,6 +771,7 @@ const Methods = {
770
771
  sYOpts
771
772
  } = this;
772
773
  const childrenField = treeOpts.children || treeOpts.childrenField;
774
+ const rowOpts = $xeTable.computeRowOpts;
773
775
  let treeData = [];
774
776
  let fullData = datas ? datas.slice(0) : [];
775
777
  if (treeConfig) {
@@ -831,9 +833,11 @@ const Methods = {
831
833
  }
832
834
  if (sYLoad) {
833
835
  if (showOverflow) {
834
- const errColumn = this.tableFullColumn.find(column => column.showOverflow === false);
835
- if (errColumn) {
836
- (0, _log.errLog)('vxe.error.errProp', [`column[field="${errColumn.field}"].show-overflow=false`, 'show-overflow=true']);
836
+ if (!rowOpts.height) {
837
+ const errColumn = this.tableFullColumn.find(column => column.showOverflow === false);
838
+ if (errColumn) {
839
+ (0, _log.errLog)('vxe.error.errProp', [`column[field="${errColumn.field}"].show-overflow=false`, 'show-overflow=true']);
840
+ }
837
841
  }
838
842
  }
839
843
  if (process.env.NODE_ENV === 'development') {
@@ -2679,7 +2683,7 @@ const Methods = {
2679
2683
  const isCustomVisible = isAllCustom || storageOpts.visible;
2680
2684
  const isCustomFixed = isAllCustom || storageOpts.fixed;
2681
2685
  const isCustomSort = isAllCustom || storageOpts.sort;
2682
- if (customConfig && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
2686
+ if ((customConfig ? (0, _utils.isEnableConf)(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
2683
2687
  if (!tableId) {
2684
2688
  (0, _log.errLog)('vxe.error.reqProp', ['id']);
2685
2689
  return;
@@ -2786,10 +2790,13 @@ const Methods = {
2786
2790
  return storeData;
2787
2791
  },
2788
2792
  saveCustomStore(type) {
2793
+ const $xeTable = this;
2794
+ const props = $xeTable;
2789
2795
  const {
2790
- tableId,
2791
- customOpts
2792
- } = this;
2796
+ customConfig
2797
+ } = props;
2798
+ const tableId = $xeTable.computeTableId;
2799
+ const customOpts = $xeTable.computeCustomOpts;
2793
2800
  const {
2794
2801
  updateStore,
2795
2802
  storage
@@ -2800,7 +2807,7 @@ const Methods = {
2800
2807
  const isCustomVisible = isAllCustom || storageOpts.visible;
2801
2808
  const isCustomFixed = isAllCustom || storageOpts.fixed;
2802
2809
  const isCustomSort = isAllCustom || storageOpts.sort;
2803
- if (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort) {
2810
+ if ((customConfig ? (0, _utils.isEnableConf)(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
2804
2811
  if (!tableId) {
2805
2812
  (0, _log.errLog)('vxe.error.reqProp', ['id']);
2806
2813
  return this.$nextTick();
@@ -2851,6 +2858,13 @@ const Methods = {
2851
2858
  * 将固定的列左边、右边分别靠边
2852
2859
  */
2853
2860
  parseColumns() {
2861
+ const $xeTable = this;
2862
+ const props = $xeTable;
2863
+ const internalData = $xeTable;
2864
+ const {
2865
+ showOverflow
2866
+ } = props;
2867
+ const rowOpts = $xeTable.computeRowOpts;
2854
2868
  const leftList = [];
2855
2869
  const centerList = [];
2856
2870
  const rightList = [];
@@ -2925,6 +2939,14 @@ const Methods = {
2925
2939
  rightList
2926
2940
  });
2927
2941
  if (scrollXLoad) {
2942
+ if (showOverflow) {
2943
+ if (!rowOpts.height) {
2944
+ const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false);
2945
+ if (errColumn) {
2946
+ (0, _log.errLog)('vxe.error.errProp', [`column[field="${errColumn.field}"].show-overflow=false`, 'show-overflow=true']);
2947
+ }
2948
+ }
2949
+ }
2928
2950
  if (process.env.NODE_ENV === 'development') {
2929
2951
  // if (this.showHeader && !this.showHeaderOverflow) {
2930
2952
  // warnLog('vxe.error.reqProp', ['show-header-overflow'])
@@ -3092,13 +3114,8 @@ const Methods = {
3092
3114
  calcCellWidth() {
3093
3115
  const $xeTable = this;
3094
3116
  const {
3095
- autoWidthColumnList,
3096
- tableData
3117
+ autoWidthColumnList
3097
3118
  } = this;
3098
- if (!tableData.length || !autoWidthColumnList.length) {
3099
- this.isCalcColumn = false;
3100
- return this.$nextTick();
3101
- }
3102
3119
  this.isCalcColumn = true;
3103
3120
  return this.$nextTick().then(() => {
3104
3121
  const internalData = $xeTable;
@@ -4031,27 +4048,29 @@ const Methods = {
4031
4048
  } else {
4032
4049
  // 如果是激活状态,退则出到上一行/下一行
4033
4050
  if (selected.row || actived.row) {
4034
- const targetArgs = selected.row ? selected.args : actived.args;
4051
+ const activeParams = selected.row ? selected.args : actived.args;
4035
4052
  if (hasShiftKey) {
4036
4053
  if (keyboardOpts.enterToTab) {
4037
- this.moveTabSelected(targetArgs, hasShiftKey, evnt);
4054
+ this.moveTabSelected(activeParams, hasShiftKey, evnt);
4038
4055
  } else {
4039
- this.moveSelected(targetArgs, isLeftArrow, true, isRightArrow, false, evnt);
4056
+ this.moveSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
4040
4057
  }
4041
4058
  } else {
4042
4059
  if (keyboardOpts.enterToTab) {
4043
- this.moveTabSelected(targetArgs, hasShiftKey, evnt);
4060
+ this.moveTabSelected(activeParams, hasShiftKey, evnt);
4044
4061
  } else {
4045
- const _rowIndex = $xeTable.getVTRowIndex(selected.row);
4062
+ const activeRow = selected.row || actived.row;
4063
+ const activeColumn = selected.column || actived.column;
4064
+ const _rowIndex = $xeTable.getVTRowIndex(activeRow);
4046
4065
  const etrParams = {
4047
- row: selected.row,
4048
- rowIndex: $xeTable.getRowIndex(selected.row),
4049
- $rowIndex: $xeTable.getVMRowIndex(selected.row),
4066
+ row: activeRow,
4067
+ rowIndex: $xeTable.getRowIndex(activeRow),
4068
+ $rowIndex: $xeTable.getVMRowIndex(activeRow),
4050
4069
  _rowIndex,
4051
- column: selected.column,
4052
- columnIndex: $xeTable.getColumnIndex(selected.column),
4053
- $columnIndex: $xeTable.getVMColumnIndex(selected.column),
4054
- _columnIndex: $xeTable.getVTColumnIndex(selected.column),
4070
+ column: activeColumn,
4071
+ columnIndex: $xeTable.getColumnIndex(activeColumn),
4072
+ $columnIndex: $xeTable.getVMColumnIndex(activeColumn),
4073
+ _columnIndex: $xeTable.getVTColumnIndex(activeColumn),
4055
4074
  $table: $xeTable
4056
4075
  };
4057
4076
  if (!beforeEnterMethod || beforeEnterMethod(etrParams) !== false) {
@@ -4062,13 +4081,15 @@ const Methods = {
4062
4081
  row: newRow
4063
4082
  }) => {
4064
4083
  $xeTable.scrollToRow(newRow, selected.column);
4065
- $xeTable.setSelectCell(newRow, selected.column);
4084
+ $xeTable.handleSelected(Object.assign(Object.assign({}, activeParams), {
4085
+ row: newRow
4086
+ }), evnt);
4066
4087
  });
4067
4088
  $xeTable.dispatchEvent('enter-append-row', etrParams, evnt);
4068
4089
  return;
4069
4090
  }
4070
4091
  }
4071
- this.moveSelected(targetArgs, isLeftArrow, false, isRightArrow, true, evnt);
4092
+ this.moveSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
4072
4093
  if (enterMethod) {
4073
4094
  enterMethod(etrParams);
4074
4095
  }
@@ -7375,7 +7396,8 @@ const Methods = {
7375
7396
  }
7376
7397
  $xeTable.checkScrolling();
7377
7398
  internalData.lastScrollLeft = scrollLeft;
7378
- } else {
7399
+ }
7400
+ if (isRollY) {
7379
7401
  const yThreshold = $xeTable.computeScrollYThreshold;
7380
7402
  isTop = scrollTop <= 0;
7381
7403
  if (!isTop) {
@@ -7504,7 +7526,8 @@ const Methods = {
7504
7526
  const internalData = $xeTable;
7505
7527
  const {
7506
7528
  inFooterScroll,
7507
- inBodyScroll
7529
+ inBodyScroll,
7530
+ lastScrollTop
7508
7531
  } = internalData;
7509
7532
  if (inFooterScroll) {
7510
7533
  return;
@@ -7518,13 +7541,18 @@ const Methods = {
7518
7541
  const bodyElem = tableBody.$el;
7519
7542
  const headerElem = tableHeader ? tableHeader.$el : null;
7520
7543
  const footerElem = tableFooter ? tableFooter.$el : null;
7544
+ const yHandleEl = $xeTable.$refs.refScrollYHandleElem;
7521
7545
  const wrapperEl = evnt.currentTarget;
7522
7546
  const {
7523
- scrollTop,
7524
7547
  scrollLeft
7525
7548
  } = wrapperEl;
7549
+ const yBodyEl = yHandleEl || bodyElem;
7550
+ let scrollTop = 0;
7551
+ if (yBodyEl) {
7552
+ scrollTop = yBodyEl.scrollTop;
7553
+ }
7526
7554
  const isRollX = true;
7527
- const isRollY = false;
7555
+ const isRollY = scrollTop !== lastScrollTop;
7528
7556
  internalData.inVirtualScroll = true;
7529
7557
  (0, _dom.setScrollLeft)(bodyElem, scrollLeft);
7530
7558
  (0, _dom.setScrollLeft)(headerElem, scrollLeft);
@@ -7540,7 +7568,8 @@ const Methods = {
7540
7568
  const internalData = $xeTable;
7541
7569
  const {
7542
7570
  inFooterScroll,
7543
- inBodyScroll
7571
+ inBodyScroll,
7572
+ lastScrollLeft
7544
7573
  } = internalData;
7545
7574
  if (inFooterScroll) {
7546
7575
  return;
@@ -7554,12 +7583,17 @@ const Methods = {
7554
7583
  const bodyElem = tableBody.$el;
7555
7584
  const leftElem = leftBody ? leftBody.$el : null;
7556
7585
  const rightElem = rightBody ? rightBody.$el : null;
7586
+ const xHandleEl = $xeTable.$refs.refScrollXHandleElem;
7557
7587
  const wrapperEl = evnt.currentTarget;
7558
7588
  const {
7559
- scrollTop,
7560
- scrollLeft
7589
+ scrollTop
7561
7590
  } = wrapperEl;
7562
- const isRollX = false;
7591
+ const xBodyEl = xHandleEl || bodyElem;
7592
+ let scrollLeft = 0;
7593
+ if (xBodyEl) {
7594
+ scrollLeft = xBodyEl.scrollLeft;
7595
+ }
7596
+ const isRollX = scrollLeft !== lastScrollLeft;
7563
7597
  const isRollY = true;
7564
7598
  internalData.inVirtualScroll = true;
7565
7599
  (0, _dom.setScrollTop)(bodyElem, scrollTop);
@@ -7864,7 +7898,7 @@ const Methods = {
7864
7898
  }
7865
7899
  }
7866
7900
  if (this.scrollXLoad || this.scrollYLoad) {
7867
- return new Promise(resolve => setTimeout(() => resolve(this.$nextTick()), 50));
7901
+ return new Promise(resolve => setTimeout(() => resolve(this.$nextTick()), 30));
7868
7902
  }
7869
7903
  return this.$nextTick();
7870
7904
  },