vxe-table 4.7.48 → 4.7.50

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 (48) hide show
  1. package/es/grid/src/grid.js +3 -3
  2. package/es/style.css +1 -1
  3. package/es/style.min.css +1 -1
  4. package/es/table/src/cell.js +51 -11
  5. package/es/table/src/column.js +2 -0
  6. package/es/table/src/columnInfo.js +2 -0
  7. package/es/table/src/table.js +63 -13
  8. package/es/table/style.css +8 -6
  9. package/es/table/style.min.css +1 -1
  10. package/es/ui/index.js +2 -2
  11. package/es/ui/src/log.js +1 -1
  12. package/es/vxe-table/style.css +8 -6
  13. package/es/vxe-table/style.min.css +1 -1
  14. package/lib/grid/src/grid.js +3 -3
  15. package/lib/grid/src/grid.min.js +1 -1
  16. package/lib/index.umd.js +127 -30
  17. package/lib/index.umd.min.js +1 -1
  18. package/lib/style.css +1 -1
  19. package/lib/style.min.css +1 -1
  20. package/lib/table/src/cell.js +48 -11
  21. package/lib/table/src/cell.min.js +1 -1
  22. package/lib/table/src/column.js +2 -0
  23. package/lib/table/src/column.min.js +1 -1
  24. package/lib/table/src/columnInfo.js +2 -0
  25. package/lib/table/src/columnInfo.min.js +1 -1
  26. package/lib/table/src/table.js +69 -13
  27. package/lib/table/src/table.min.js +1 -1
  28. package/lib/table/style/style.css +8 -6
  29. package/lib/table/style/style.min.css +1 -1
  30. package/lib/ui/index.js +2 -2
  31. package/lib/ui/index.min.js +1 -1
  32. package/lib/ui/src/log.js +1 -1
  33. package/lib/ui/src/log.min.js +1 -1
  34. package/lib/vxe-table/style/style.css +8 -6
  35. package/lib/vxe-table/style/style.min.css +1 -1
  36. package/package.json +2 -2
  37. package/packages/grid/src/grid.ts +3 -3
  38. package/packages/table/src/cell.ts +59 -12
  39. package/packages/table/src/column.ts +2 -0
  40. package/packages/table/src/columnInfo.ts +2 -0
  41. package/packages/table/src/table.ts +72 -19
  42. package/styles/components/table.scss +14 -6
  43. /package/es/{iconfont.1720698597734.ttf → iconfont.1720872721039.ttf} +0 -0
  44. /package/es/{iconfont.1720698597734.woff → iconfont.1720872721039.woff} +0 -0
  45. /package/es/{iconfont.1720698597734.woff2 → iconfont.1720872721039.woff2} +0 -0
  46. /package/lib/{iconfont.1720698597734.ttf → iconfont.1720872721039.ttf} +0 -0
  47. /package/lib/{iconfont.1720698597734.woff → iconfont.1720872721039.woff} +0 -0
  48. /package/lib/{iconfont.1720698597734.woff2 → iconfont.1720872721039.woff2} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("../../table/src/util"),_cell=_interopRequireDefault(require("../../table/src/cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){const r=(0,_vue.ref)(),l=(0,_vue.inject)("$xeTable",{}),n=(0,_vue.inject)("$xeColgroup",null),o=_cell.default.createColumn(l,e);o.slots=t;var t=()=>(0,_vue.h)("div",{ref:r}),u={column:o,renderVN:t};return(0,_util.watchColumn)(l,e,o),(0,_vue.onMounted)(()=>{(0,_util.assemColumn)(l,r.value,o,n)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(l,o)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("../../table/src/util"),_cell=_interopRequireDefault(require("../../table/src/cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){const r=(0,_vue.ref)(),o=(0,_vue.inject)("$xeTable",{}),n=(0,_vue.inject)("$xeColgroup",null),l=_cell.default.createColumn(o,e);l.slots=t;var t=()=>(0,_vue.h)("div",{ref:r}),u={column:l,renderVN:t};return(0,_util.watchColumn)(o,e,l),(0,_vue.onMounted)(()=>{(0,_util.assemColumn)(o,r.value,l,n)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(o,l)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
@@ -89,6 +89,7 @@ class ColumnInfo {
89
89
  headerClassName: _vm.headerClassName,
90
90
  footerClassName: _vm.footerClassName,
91
91
  formatter: formatter,
92
+ footerFormatter: _vm.footerFormatter,
92
93
  sortable: _vm.sortable,
93
94
  sortBy: _vm.sortBy,
94
95
  sortType: _vm.sortType,
@@ -139,6 +140,7 @@ class ColumnInfo {
139
140
  renderWidth: 0,
140
141
  renderHeight: 0,
141
142
  renderResizeWidth: 0,
143
+ renderAutoWidth: 0,
142
144
  resizeWidth: 0,
143
145
  renderLeft: 0,
144
146
  renderArgs: [],
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d,n=e.xegrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible;"development"===process.env.NODE_ENV&&(d=["seq","checkbox","radio","expand","html"],r.type&&-1===d.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,d.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),r.cellRender&&r.editRender&&(0,_log.warnLog)("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===r.type&&(d=e["props"],d=d["treeConfig"],e=e.getComputeMaps()["computeTreeOpts"],e=e.value,d)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s)&&(_xeUtils.default.isString(s)?(d=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(e=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(e.tableCellFormatMethod||e.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,treeNode:r.treeNode,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(d=n.getComputeMaps()["computeProxyOpts"],(e=d.value).beforeColumn)&&e.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){return this.field||(this.type?"type="+this.type:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d,n=e.xegrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible;"development"===process.env.NODE_ENV&&(d=["seq","checkbox","radio","expand","html"],r.type&&-1===d.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,d.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),r.cellRender&&r.editRender&&(0,_log.warnLog)("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===r.type&&(d=e["props"],d=d["treeConfig"],e=e.getComputeMaps()["computeTreeOpts"],e=e.value,d)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s)&&(_xeUtils.default.isString(s)?(d=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(e=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(e.tableCellFormatMethod||e.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,footerFormatter:r.footerFormatter,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,treeNode:r.treeNode,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(d=n.getComputeMaps()["computeProxyOpts"],(e=d.value).beforeColumn)&&e.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){return this.field||(this.type?"type="+this.type:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
@@ -56,6 +56,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
56
56
  computeSize
57
57
  } = useFns.useSize(props);
58
58
  const reactData = (0, _vue.reactive)({
59
+ isCalcColumn: false,
59
60
  // 低性能的静态列
60
61
  staticColumns: [],
61
62
  // 渲染的列分组
@@ -168,7 +169,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
168
169
  pxMinList: [],
169
170
  scaleList: [],
170
171
  scaleMinList: [],
171
- autoList: []
172
+ autoList: [],
173
+ remainList: []
172
174
  },
173
175
  // 存放快捷菜单的信息
174
176
  ctxMenuStore: {
@@ -511,6 +513,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
511
513
  const computeCustomOpts = (0, _vue.computed)(() => {
512
514
  return Object.assign({}, getConfig().table.customConfig, props.customConfig);
513
515
  });
516
+ const computeAutoWidthColumnList = (0, _vue.computed)(() => {
517
+ const {
518
+ visibleColumn
519
+ } = internalData;
520
+ return visibleColumn.filter(column => column.width === 'auto');
521
+ });
514
522
  const computeFixedColumnSize = (0, _vue.computed)(() => {
515
523
  const {
516
524
  collectColumn
@@ -902,7 +910,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
902
910
  const val = props[key];
903
911
  let num = 0;
904
912
  if (val) {
905
- if (val === 'auto') {
913
+ if (val === '100%' || val === 'auto') {
906
914
  num = parentHeight;
907
915
  } else {
908
916
  const excludeHeight = $xeTable.getExcludeHeight();
@@ -1125,6 +1133,41 @@ var _default = exports.default = (0, _vue.defineComponent)({
1125
1133
  internalData.customMinHeight = calcHeight('minHeight');
1126
1134
  internalData.customMaxHeight = calcHeight('maxHeight');
1127
1135
  };
1136
+ const calcCellWidth = () => {
1137
+ const {
1138
+ tableData
1139
+ } = reactData;
1140
+ const autoWidthColumnList = computeAutoWidthColumnList.value;
1141
+ if (!tableData.length || !autoWidthColumnList.length) {
1142
+ reactData.isCalcColumn = false;
1143
+ return (0, _vue.nextTick)();
1144
+ }
1145
+ reactData.isCalcColumn = true;
1146
+ return (0, _vue.nextTick)().then(() => {
1147
+ const el = refElem.value;
1148
+ if (el) {
1149
+ autoWidthColumnList.forEach(column => {
1150
+ const cellElList = el.querySelectorAll(`.vxe-body--column.${column.id}>.vxe-cell`);
1151
+ const firstCellEl = cellElList[0];
1152
+ let paddingSize = 0;
1153
+ if (firstCellEl) {
1154
+ const cellStyle = getComputedStyle(firstCellEl);
1155
+ paddingSize = Math.floor(_xeUtils.default.toNumber(cellStyle.paddingLeft) + _xeUtils.default.toNumber(cellStyle.paddingRight)) + 2;
1156
+ }
1157
+ let colWidth = column.renderAutoWidth - paddingSize + 2;
1158
+ _xeUtils.default.arrayEach(cellElList, cellEl => {
1159
+ const labelEl = cellEl.firstChild;
1160
+ if (labelEl) {
1161
+ colWidth = Math.max(colWidth, labelEl.offsetWidth);
1162
+ }
1163
+ });
1164
+ column.renderAutoWidth = colWidth + paddingSize;
1165
+ });
1166
+ tablePrivateMethods.analyColumnWidth();
1167
+ }
1168
+ reactData.isCalcColumn = false;
1169
+ });
1170
+ };
1128
1171
  /**
1129
1172
  * 列宽算法
1130
1173
  * 支持 px、%、固定 混合分配
@@ -1158,7 +1201,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
1158
1201
  pxList,
1159
1202
  scaleList,
1160
1203
  scaleMinList,
1161
- autoList
1204
+ autoList,
1205
+ remainList
1162
1206
  } = columnStore;
1163
1207
  // 最小宽
1164
1208
  pxMinList.forEach(column => {
@@ -1184,6 +1228,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
1184
1228
  tableWidth += width;
1185
1229
  column.renderWidth = width;
1186
1230
  });
1231
+ // 自适应宽
1232
+ autoList.forEach(column => {
1233
+ const width = Math.max(60, _xeUtils.default.toInteger(column.renderAutoWidth));
1234
+ tableWidth += width;
1235
+ column.renderWidth = width;
1236
+ });
1187
1237
  // 调整了列宽
1188
1238
  resizeList.forEach(column => {
1189
1239
  const width = _xeUtils.default.toInteger(column.resizeWidth);
@@ -1191,7 +1241,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1191
1241
  column.renderWidth = width;
1192
1242
  });
1193
1243
  remainWidth -= tableWidth;
1194
- meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinList.length + pxMinList.length + autoList.length)) : 0;
1244
+ meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinList.length + pxMinList.length + remainList.length)) : 0;
1195
1245
  if (fit) {
1196
1246
  if (remainWidth > 0) {
1197
1247
  scaleMinList.concat(pxMinList).forEach(column => {
@@ -1202,8 +1252,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
1202
1252
  } else {
1203
1253
  meanWidth = minCellWidth;
1204
1254
  }
1205
- // 自适应
1206
- autoList.forEach(column => {
1255
+ // 剩余均分
1256
+ remainList.forEach(column => {
1207
1257
  const width = Math.max(meanWidth, minCellWidth);
1208
1258
  column.renderWidth = width;
1209
1259
  tableWidth += width;
@@ -1213,7 +1263,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1213
1263
  * 偏移量算法
1214
1264
  * 如果所有列足够放的情况下,从最后动态列开始分配
1215
1265
  */
1216
- const dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(autoList);
1266
+ const dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(remainList);
1217
1267
  let dynamicSize = dynamicList.length - 1;
1218
1268
  if (dynamicSize > 0) {
1219
1269
  let odiffer = bodyWidth - tableWidth;
@@ -2326,10 +2376,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
2326
2376
  const rowid = (0, _util.getRowid)($xeTable, row);
2327
2377
  const rest = fullAllDataRowIdData[rowid];
2328
2378
  treeExpandLazyLoadedMaps[rowid] = row;
2329
- loadMethod({
2379
+ Promise.resolve(loadMethod({
2330
2380
  $table: $xeTable,
2331
2381
  row
2332
- }).then(childRecords => {
2382
+ })).then(childRecords => {
2333
2383
  rest.treeLoaded = true;
2334
2384
  if (treeExpandLazyLoadedMaps[rowid]) {
2335
2385
  delete treeExpandLazyLoadedMaps[rowid];
@@ -3994,6 +4044,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
3994
4044
  * 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
3995
4045
  */
3996
4046
  recalculate(refull) {
4047
+ calcCellWidth();
3997
4048
  autoCellWidth();
3998
4049
  if (refull === true) {
3999
4050
  // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
@@ -5977,7 +6028,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
5977
6028
  /**
5978
6029
  * 处理显示 tooltip
5979
6030
  * @param {Event} evnt 事件
5980
- * @param {ColumnInfo} column 列配置
5981
6031
  * @param {Row} row 行对象
5982
6032
  */
5983
6033
  const handleTooltip = (evnt, cell, overflowElem, tipElem, params) => {
@@ -6054,7 +6104,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
6054
6104
  const el = refElem.value;
6055
6105
  if (el) {
6056
6106
  const parentElem = el.parentNode;
6057
- const parentPaddingSize = height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
6107
+ const parentPaddingSize = height === 'fill' || height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
6058
6108
  return Math.floor($xeGrid ? $xeGrid.getParentHeight() : _xeUtils.default.toNumber(getComputedStyle(parentElem).height) - parentPaddingSize);
6059
6109
  }
6060
6110
  return 0;
@@ -6256,6 +6306,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
6256
6306
  const scaleList = [];
6257
6307
  const scaleMinList = [];
6258
6308
  const autoList = [];
6309
+ const remainList = [];
6259
6310
  tableFullColumn.forEach(column => {
6260
6311
  if (defaultWidth && !column.width) {
6261
6312
  column.width = defaultWidth;
@@ -6266,6 +6317,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
6266
6317
  if (column.visible) {
6267
6318
  if (column.resizeWidth) {
6268
6319
  resizeList.push(column);
6320
+ } else if (column.width === 'auto') {
6321
+ autoList.push(column);
6269
6322
  } else if ((0, _dom.isPx)(column.width)) {
6270
6323
  pxList.push(column);
6271
6324
  } else if ((0, _dom.isScale)(column.width)) {
@@ -6275,7 +6328,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
6275
6328
  } else if ((0, _dom.isScale)(column.minWidth)) {
6276
6329
  scaleMinList.push(column);
6277
6330
  } else {
6278
- autoList.push(column);
6331
+ remainList.push(column);
6279
6332
  }
6280
6333
  }
6281
6334
  });
@@ -6285,7 +6338,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
6285
6338
  pxMinList,
6286
6339
  scaleList,
6287
6340
  scaleMinList,
6288
- autoList
6341
+ autoList,
6342
+ remainList
6289
6343
  });
6290
6344
  },
6291
6345
  saveCustomStore(type) {
@@ -7929,6 +7983,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7929
7983
  editRules
7930
7984
  } = props;
7931
7985
  const {
7986
+ isCalcColumn,
7932
7987
  isGroup,
7933
7988
  overflowX,
7934
7989
  overflowY,
@@ -7976,6 +8031,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7976
8031
  'row--highlight': rowOpts.isHover || highlightHoverRow,
7977
8032
  'column--highlight': columnOpts.isHover || highlightHoverColumn,
7978
8033
  'checkbox--range': checkboxOpts.range,
8034
+ 'column--calc': isCalcColumn,
7979
8035
  'is--header': showHeader,
7980
8036
  'is--footer': showFooter,
7981
8037
  'is--group': isGroup,