vxe-table 4.12.0-beta.9 → 4.12.1
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.
- package/es/grid/src/grid.js +45 -36
- package/es/locale/lang/ar-EG.js +7 -1
- package/es/locale/lang/de-DE.js +7 -1
- package/es/locale/lang/en-US.js +7 -1
- package/es/locale/lang/es-ES.js +7 -1
- package/es/locale/lang/fr-FR.js +7 -1
- package/es/locale/lang/hu-HU.js +7 -1
- package/es/locale/lang/hy-AM.js +7 -1
- package/es/locale/lang/id-ID.js +7 -1
- package/es/locale/lang/it-IT.js +7 -1
- package/es/locale/lang/ja-JP.js +7 -1
- package/es/locale/lang/ko-KR.js +7 -1
- package/es/locale/lang/nb-NO.js +7 -1
- package/es/locale/lang/pt-BR.js +7 -1
- package/es/locale/lang/ru-RU.js +7 -1
- package/es/locale/lang/th-TH.js +7 -1
- package/es/locale/lang/ug-CN.js +7 -1
- package/es/locale/lang/uk-UA.js +7 -1
- package/es/locale/lang/vi-VN.js +7 -1
- package/es/locale/lang/zh-CHT.js +7 -1
- package/es/locale/lang/zh-CN.js +7 -1
- package/es/style.css +1 -1
- package/es/table/module/custom/hook.js +1 -1
- package/es/table/module/custom/panel.js +4 -2
- package/es/table/module/edit/hook.js +29 -33
- package/es/table/module/export/export-panel.js +3 -2
- package/es/table/module/export/import-panel.js +3 -2
- package/es/table/module/filter/panel.js +12 -2
- package/es/table/module/keyboard/hook.js +105 -30
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +4 -5
- package/es/table/render/index.js +3 -3
- package/es/table/src/body.js +45 -27
- package/es/table/src/cell.js +43 -24
- package/es/table/src/columnInfo.js +2 -2
- package/es/table/src/footer.js +12 -7
- package/es/table/src/header.js +12 -7
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +501 -512
- package/es/table/src/util.js +34 -6
- package/es/ui/index.js +4 -3
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/grid/src/grid.js +42 -40
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +12594 -1185
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +7 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -1
- package/lib/locale/lang/es-ES.js +7 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -1
- package/lib/locale/lang/fr-FR.js +7 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +7 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -1
- package/lib/locale/lang/hy-AM.js +7 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +7 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +7 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +7 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -1
- package/lib/locale/lang/ko-KR.js +7 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -1
- package/lib/locale/lang/nb-NO.js +7 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +7 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -1
- package/lib/locale/lang/ru-RU.js +7 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -1
- package/lib/locale/lang/th-TH.js +7 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +7 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +7 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -1
- package/lib/locale/lang/vi-VN.js +7 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +7 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +7 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/hook.js +1 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +4 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +36 -45
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +3 -2
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/filter/panel.js +8 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +113 -31
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -1
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +6 -10
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +4 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +53 -26
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +49 -25
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -4
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +12 -5
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +12 -5
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +594 -564
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +36 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +4 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +49 -42
- package/packages/locale/lang/ar-EG.ts +7 -1
- package/packages/locale/lang/de-DE.ts +7 -1
- package/packages/locale/lang/en-US.ts +7 -1
- package/packages/locale/lang/es-ES.ts +7 -1
- package/packages/locale/lang/fr-FR.ts +7 -1
- package/packages/locale/lang/hu-HU.ts +7 -1
- package/packages/locale/lang/hy-AM.ts +7 -1
- package/packages/locale/lang/id-ID.ts +7 -1
- package/packages/locale/lang/it-IT.ts +7 -1
- package/packages/locale/lang/ja-JP.ts +7 -1
- package/packages/locale/lang/ko-KR.ts +7 -1
- package/packages/locale/lang/nb-NO.ts +7 -1
- package/packages/locale/lang/pt-BR.ts +7 -1
- package/packages/locale/lang/ru-RU.ts +7 -1
- package/packages/locale/lang/th-TH.ts +7 -1
- package/packages/locale/lang/ug-CN.ts +7 -1
- package/packages/locale/lang/uk-UA.ts +7 -1
- package/packages/locale/lang/vi-VN.ts +7 -1
- package/packages/locale/lang/zh-CHT.ts +7 -1
- package/packages/locale/lang/zh-CN.ts +7 -1
- package/packages/table/module/custom/hook.ts +1 -1
- package/packages/table/module/custom/panel.ts +6 -2
- package/packages/table/module/edit/hook.ts +30 -33
- package/packages/table/module/export/export-panel.ts +4 -2
- package/packages/table/module/export/import-panel.ts +4 -2
- package/packages/table/module/filter/panel.ts +12 -2
- package/packages/table/module/keyboard/hook.ts +106 -32
- package/packages/table/module/menu/hook.ts +3 -1
- package/packages/table/module/validator/hook.ts +5 -5
- package/packages/table/render/index.ts +3 -4
- package/packages/table/src/body.ts +46 -27
- package/packages/table/src/cell.ts +43 -24
- package/packages/table/src/columnInfo.ts +3 -2
- package/packages/table/src/footer.ts +13 -7
- package/packages/table/src/header.ts +13 -7
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +513 -518
- package/packages/table/src/util.ts +39 -6
- package/packages/ui/index.ts +3 -2
- /package/es/{iconfont.1741337003908.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/es/{iconfont.1741337003908.woff → iconfont.1743045589885.woff} +0 -0
- /package/es/{iconfont.1741337003908.woff2 → iconfont.1743045589885.woff2} +0 -0
- /package/lib/{iconfont.1741337003908.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/lib/{iconfont.1741337003908.woff → iconfont.1743045589885.woff} +0 -0
- /package/lib/{iconfont.1741337003908.woff2 → iconfont.1743045589885.woff2} +0 -0
package/es/table/src/body.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, TransitionGroup, h, ref, inject, nextTick, onMounted, onUnmounted } from 'vue';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
3
|
import { VxeUI } from '../../ui';
|
|
4
|
-
import { getOffsetSize, calcTreeLine, mergeBodyMethod, getRowid } from './util';
|
|
4
|
+
import { getOffsetSize, calcTreeLine, mergeBodyMethod, getRowid, createHandleGetRowId } from './util';
|
|
5
5
|
import { updateCellTitle, getPropClass } from '../../ui/src/dom';
|
|
6
6
|
import { isEnableConf } from '../../ui/src/utils';
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
@@ -21,7 +21,7 @@ export default defineComponent({
|
|
|
21
21
|
setup(props) {
|
|
22
22
|
const $xeTable = inject('$xeTable', {});
|
|
23
23
|
const { xID, props: tableProps, context: tableContext, reactData: tableReactData, internalData: tableInternalData } = $xeTable;
|
|
24
|
-
const { computeEditOpts, computeMouseOpts, computeAreaOpts, computeDefaultRowHeight, computeEmptyOpts, computeTooltipOpts, computeRadioOpts, computeExpandOpts, computeTreeOpts, computeCheckboxOpts, computeCellOpts, computeValidOpts, computeRowOpts, computeColumnOpts, computeRowDragOpts, computeColumnDragOpts, computeResizableOpts } = $xeTable.getComputeMaps();
|
|
24
|
+
const { computeEditOpts, computeMouseOpts, computeCellOffsetWidth, computeAreaOpts, computeDefaultRowHeight, computeEmptyOpts, computeTooltipOpts, computeRadioOpts, computeExpandOpts, computeTreeOpts, computeCheckboxOpts, computeCellOpts, computeValidOpts, computeRowOpts, computeColumnOpts, computeRowDragOpts, computeColumnDragOpts, computeResizableOpts } = $xeTable.getComputeMaps();
|
|
25
25
|
const refElem = ref();
|
|
26
26
|
const refBodyScroll = ref();
|
|
27
27
|
const refBodyTable = ref();
|
|
@@ -36,7 +36,7 @@ export default defineComponent({
|
|
|
36
36
|
const { lastScrollTime, isDragResize } = tableReactData;
|
|
37
37
|
return !!(isDragResize || (lastScrollTime && Date.now() < lastScrollTime + delayHover));
|
|
38
38
|
};
|
|
39
|
-
const renderLine = (params, cellHeight) => {
|
|
39
|
+
const renderLine = (rowid, params, cellHeight) => {
|
|
40
40
|
const { row, column } = params;
|
|
41
41
|
const { afterFullData } = tableInternalData;
|
|
42
42
|
const { treeConfig } = tableProps;
|
|
@@ -46,7 +46,6 @@ export default defineComponent({
|
|
|
46
46
|
if (slots && slots.line) {
|
|
47
47
|
return $xeTable.callSlot(slots.line, params);
|
|
48
48
|
}
|
|
49
|
-
const rowid = getRowid($xeTable, row);
|
|
50
49
|
const rest = fullAllDataRowIdData[rowid];
|
|
51
50
|
let rLevel = 0;
|
|
52
51
|
let prevRow = null;
|
|
@@ -78,9 +77,10 @@ export default defineComponent({
|
|
|
78
77
|
* 渲染列
|
|
79
78
|
*/
|
|
80
79
|
const renderTdColumn = (seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) => {
|
|
81
|
-
const
|
|
80
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
81
|
+
const { fullAllDataRowIdData, fullColumnIdData, visibleColumn } = tableInternalData;
|
|
82
82
|
const { columnKey, resizable: allResizable, showOverflow: allShowOverflow, border, height, cellClassName: allCellClassName, cellStyle, align: allAlign, spanMethod, mouseConfig, editConfig, editRules, tooltipConfig, padding: allPadding } = tableProps;
|
|
83
|
-
const { tableData, dragRow, overflowX, currentColumn, scrollXLoad, scrollYLoad, calcCellHeightFlag, resizeHeightFlag, mergeList, editStore, isAllOverflow, validErrorMaps } = tableReactData;
|
|
83
|
+
const { tableData, dragRow, overflowX, currentColumn, scrollXLoad, scrollYLoad, calcCellHeightFlag, resizeHeightFlag, resizeWidthFlag, mergeList, editStore, isAllOverflow, validErrorMaps } = tableReactData;
|
|
84
84
|
const { afterFullData, scrollXStore, scrollYStore } = tableInternalData;
|
|
85
85
|
const cellOpts = computeCellOpts.value;
|
|
86
86
|
const validOpts = computeValidOpts.value;
|
|
@@ -97,19 +97,21 @@ export default defineComponent({
|
|
|
97
97
|
const columnOpts = computeColumnOpts.value;
|
|
98
98
|
const mouseOpts = computeMouseOpts.value;
|
|
99
99
|
const areaOpts = computeAreaOpts.value;
|
|
100
|
+
const cellOffsetWidth = computeCellOffsetWidth.value;
|
|
100
101
|
const { selectCellToRow } = areaOpts;
|
|
101
102
|
const { type, cellRender, editRender, align, showOverflow, className, treeNode, rowResize, padding, verticalAlign, slots } = column;
|
|
102
103
|
const { verticalAlign: allVerticalAlign } = cellOpts;
|
|
103
104
|
const { actived } = editStore;
|
|
104
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
105
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
105
106
|
const colid = column.id;
|
|
107
|
+
const colRest = fullColumnIdData[colid] || {};
|
|
106
108
|
const renderOpts = editRender || cellRender;
|
|
107
109
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
108
110
|
const compCellClassName = compConf ? (compConf.tableCellClassName || compConf.cellClassName) : null;
|
|
109
111
|
const compCellStyle = compConf ? (compConf.tableCellStyle || compConf.cellStyle) : '';
|
|
110
112
|
const showAllTip = tooltipOpts.showAll;
|
|
111
|
-
const columnIndex =
|
|
112
|
-
const _columnIndex =
|
|
113
|
+
const columnIndex = colRest.index;
|
|
114
|
+
const _columnIndex = colRest._index;
|
|
113
115
|
const isEdit = isEnableConf(editRender);
|
|
114
116
|
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
|
|
115
117
|
let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
|
|
@@ -131,7 +133,7 @@ export default defineComponent({
|
|
|
131
133
|
const tdAttrs = { colid };
|
|
132
134
|
const cellParams = {
|
|
133
135
|
$table: $xeTable,
|
|
134
|
-
$grid: $
|
|
136
|
+
$grid: $xeGrid,
|
|
135
137
|
isEdit: false,
|
|
136
138
|
seq,
|
|
137
139
|
rowid,
|
|
@@ -263,6 +265,18 @@ export default defineComponent({
|
|
|
263
265
|
}
|
|
264
266
|
}
|
|
265
267
|
const tcStyle = {};
|
|
268
|
+
if (hasEllipsis && resizeWidthFlag) {
|
|
269
|
+
let tsColspan = tdAttrs.colspan || 0;
|
|
270
|
+
if (tsColspan > 1) {
|
|
271
|
+
for (let index = 1; index < tsColspan; index++) {
|
|
272
|
+
const nextColumn = visibleColumn[columnIndex + index];
|
|
273
|
+
if (nextColumn) {
|
|
274
|
+
tsColspan += nextColumn.renderWidth;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
tcStyle.width = `${column.renderWidth - (cellOffsetWidth * tsColspan)}px`;
|
|
279
|
+
}
|
|
266
280
|
if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
|
|
267
281
|
tcStyle.height = `${cellHeight}px`;
|
|
268
282
|
}
|
|
@@ -283,7 +297,7 @@ export default defineComponent({
|
|
|
283
297
|
}
|
|
284
298
|
else {
|
|
285
299
|
// 渲染单元格
|
|
286
|
-
tdVNs.push(...renderLine(cellParams, cellHeight), h('div', {
|
|
300
|
+
tdVNs.push(...renderLine(rowid, cellParams, cellHeight), h('div', {
|
|
287
301
|
key: 'tc',
|
|
288
302
|
class: ['vxe-cell', {
|
|
289
303
|
'c--title': showTitle,
|
|
@@ -386,8 +400,8 @@ export default defineComponent({
|
|
|
386
400
|
};
|
|
387
401
|
const renderRows = (fixedType, isOptimizeMode, tableData, tableColumn) => {
|
|
388
402
|
const { stripe, rowKey, highlightHoverRow, rowClassName, rowStyle, editConfig, treeConfig } = tableProps;
|
|
389
|
-
const { hasFixedColumn,
|
|
390
|
-
const { fullAllDataRowIdData } = tableInternalData;
|
|
403
|
+
const { hasFixedColumn, treeExpandedFlag, isColLoading, scrollXLoad, scrollYLoad, isAllOverflow, rowExpandedFlag, expandColumn, selectRadioRow, pendingRowFlag, isDragColMove, rowExpandHeightFlag } = tableReactData;
|
|
404
|
+
const { fullAllDataRowIdData, treeExpandedMaps, pendingRowMaps, rowExpandedMaps } = tableInternalData;
|
|
391
405
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
392
406
|
const radioOpts = computeRadioOpts.value;
|
|
393
407
|
const treeOpts = computeTreeOpts.value;
|
|
@@ -398,11 +412,15 @@ export default defineComponent({
|
|
|
398
412
|
const { transform, seqMode } = treeOpts;
|
|
399
413
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
400
414
|
const rows = [];
|
|
415
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
401
416
|
tableData.forEach((row, $rowIndex) => {
|
|
402
|
-
const
|
|
417
|
+
const rowid = handleGetRowId(row);
|
|
418
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
403
419
|
let rowIndex = $rowIndex;
|
|
404
|
-
|
|
405
|
-
|
|
420
|
+
let rowLevel = 0;
|
|
421
|
+
let seq = -1;
|
|
422
|
+
let _rowIndex = -1;
|
|
423
|
+
const trOn = {};
|
|
406
424
|
// 当前行事件
|
|
407
425
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
408
426
|
trOn.onMouseenter = (evnt) => {
|
|
@@ -418,11 +436,6 @@ export default defineComponent({
|
|
|
418
436
|
$xeTable.clearHoverRow();
|
|
419
437
|
};
|
|
420
438
|
}
|
|
421
|
-
const rowid = getRowid($xeTable, row);
|
|
422
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
423
|
-
let rowLevel = 0;
|
|
424
|
-
let seq = -1;
|
|
425
|
-
let _rowIndex = 0;
|
|
426
439
|
if (rowRest) {
|
|
427
440
|
rowLevel = rowRest.level;
|
|
428
441
|
if (treeConfig && transform && seqMode === 'increasing') {
|
|
@@ -431,11 +444,12 @@ export default defineComponent({
|
|
|
431
444
|
else {
|
|
432
445
|
seq = rowRest.seq;
|
|
433
446
|
}
|
|
447
|
+
rowIndex = rowRest.index;
|
|
434
448
|
_rowIndex = rowRest._index;
|
|
435
449
|
}
|
|
436
450
|
const params = { $table: $xeTable, seq, rowid, fixed: fixedType, type: renderType, level: rowLevel, row, rowIndex, $rowIndex, _rowIndex };
|
|
437
451
|
// 行是否被展开
|
|
438
|
-
const isExpandRow = expandColumn && !!rowExpandedMaps[rowid];
|
|
452
|
+
const isExpandRow = expandColumn && !!rowExpandedFlag && !!rowExpandedMaps[rowid];
|
|
439
453
|
// 树节点是否被展开
|
|
440
454
|
let isExpandTree = false;
|
|
441
455
|
let rowChildren = [];
|
|
@@ -445,7 +459,7 @@ export default defineComponent({
|
|
|
445
459
|
}
|
|
446
460
|
if (treeConfig && !scrollYLoad && !transform) {
|
|
447
461
|
rowChildren = row[childrenField];
|
|
448
|
-
isExpandTree = rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
|
|
462
|
+
isExpandTree = !!treeExpandedFlag && rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
|
|
449
463
|
}
|
|
450
464
|
// 拖拽行事件
|
|
451
465
|
if (rowOpts.drag && (!treeConfig || transform)) {
|
|
@@ -464,7 +478,7 @@ export default defineComponent({
|
|
|
464
478
|
'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
|
|
465
479
|
'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
|
|
466
480
|
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
467
|
-
'row--pending': !!pendingRowMaps[rowid]
|
|
481
|
+
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid]
|
|
468
482
|
},
|
|
469
483
|
getPropClass(rowClassName, params)
|
|
470
484
|
];
|
|
@@ -568,6 +582,7 @@ export default defineComponent({
|
|
|
568
582
|
});
|
|
569
583
|
const renderVN = () => {
|
|
570
584
|
const { slots } = tableContext;
|
|
585
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
571
586
|
const { fixedColumn, fixedType, tableColumn } = props;
|
|
572
587
|
const { spanMethod, footerSpanMethod, mouseConfig } = tableProps;
|
|
573
588
|
const { isGroup, tableData, isRowLoading, isColLoading, overflowX, scrollXLoad, scrollYLoad, isAllOverflow, isDragRowMove, expandColumn, dragRow, dragCol } = tableReactData;
|
|
@@ -589,7 +604,7 @@ export default defineComponent({
|
|
|
589
604
|
isOptimizeMode = true;
|
|
590
605
|
}
|
|
591
606
|
}
|
|
592
|
-
if (fixedType || !overflowX) {
|
|
607
|
+
if (!isColLoading && (fixedType || !overflowX)) {
|
|
593
608
|
renderColumnList = visibleColumn;
|
|
594
609
|
}
|
|
595
610
|
if (fixedType) {
|
|
@@ -648,7 +663,7 @@ export default defineComponent({
|
|
|
648
663
|
let emptyContent;
|
|
649
664
|
const emptySlot = slots ? slots.empty : null;
|
|
650
665
|
if (emptySlot) {
|
|
651
|
-
emptyContent = $xeTable.callSlot(emptySlot, { $table: $xeTable, $grid: $
|
|
666
|
+
emptyContent = $xeTable.callSlot(emptySlot, { $table: $xeTable, $grid: $xeGrid });
|
|
652
667
|
}
|
|
653
668
|
else {
|
|
654
669
|
const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null;
|
|
@@ -697,7 +712,10 @@ export default defineComponent({
|
|
|
697
712
|
}, renderColumnList.map((column, $columnIndex) => {
|
|
698
713
|
return h('col', {
|
|
699
714
|
name: column.id,
|
|
700
|
-
key: $columnIndex
|
|
715
|
+
key: $columnIndex,
|
|
716
|
+
style: {
|
|
717
|
+
width: `${column.renderWidth}px`
|
|
718
|
+
}
|
|
701
719
|
});
|
|
702
720
|
})),
|
|
703
721
|
/**
|
package/es/table/src/cell.js
CHANGED
|
@@ -201,15 +201,27 @@ function getFooterContent(params) {
|
|
|
201
201
|
});
|
|
202
202
|
if (footerFormatter) {
|
|
203
203
|
if (XEUtils.isFunction(footerFormatter)) {
|
|
204
|
-
return
|
|
204
|
+
return [
|
|
205
|
+
h('span', {
|
|
206
|
+
class: 'vxe-cell--label'
|
|
207
|
+
}, `${footerFormatter(footParams)}`)
|
|
208
|
+
];
|
|
205
209
|
}
|
|
206
210
|
const isArr = XEUtils.isArray(footerFormatter);
|
|
207
211
|
const gFormatOpts = isArr ? formats.get(footerFormatter[0]) : formats.get(footerFormatter);
|
|
208
212
|
const footerFormatMethod = gFormatOpts ? gFormatOpts.tableFooterCellFormatMethod : null;
|
|
209
213
|
if (footerFormatMethod) {
|
|
210
|
-
return
|
|
214
|
+
return [
|
|
215
|
+
h('span', {
|
|
216
|
+
class: 'vxe-cell--label'
|
|
217
|
+
}, `${isArr ? footerFormatMethod(footParams, ...footerFormatter.slice(1)) : footerFormatMethod(footParams)}`)
|
|
218
|
+
];
|
|
211
219
|
}
|
|
212
|
-
return
|
|
220
|
+
return [
|
|
221
|
+
h('span', {
|
|
222
|
+
class: 'vxe-cell--label'
|
|
223
|
+
}, '')
|
|
224
|
+
];
|
|
213
225
|
}
|
|
214
226
|
if (renderOpts) {
|
|
215
227
|
const compConf = renderer.get(renderOpts.name);
|
|
@@ -221,7 +233,9 @@ function getFooterContent(params) {
|
|
|
221
233
|
}
|
|
222
234
|
}
|
|
223
235
|
return [
|
|
224
|
-
|
|
236
|
+
h('span', {
|
|
237
|
+
class: 'vxe-cell--label'
|
|
238
|
+
}, formatText(itemValue, 1))
|
|
225
239
|
];
|
|
226
240
|
}
|
|
227
241
|
function getDefaultCellLabel(params) {
|
|
@@ -380,8 +394,8 @@ export const Cell = {
|
|
|
380
394
|
const tableReactData = $table.reactData;
|
|
381
395
|
const tableInternalData = $table.internalData;
|
|
382
396
|
const { computeTreeOpts } = $table.getComputeMaps();
|
|
383
|
-
const {
|
|
384
|
-
const { fullAllDataRowIdData } = tableInternalData;
|
|
397
|
+
const { treeExpandedFlag } = tableReactData;
|
|
398
|
+
const { fullAllDataRowIdData, treeExpandedMaps, treeExpandLazyLoadedMaps } = tableInternalData;
|
|
385
399
|
const treeOpts = computeTreeOpts.value;
|
|
386
400
|
const { row, column, level } = params;
|
|
387
401
|
const { slots } = column;
|
|
@@ -401,7 +415,7 @@ export const Cell = {
|
|
|
401
415
|
}
|
|
402
416
|
if (!isHidden) {
|
|
403
417
|
const rowid = getRowid($table, row);
|
|
404
|
-
isActive = !!treeExpandedMaps[rowid];
|
|
418
|
+
isActive = !!treeExpandedFlag && !!treeExpandedMaps[rowid];
|
|
405
419
|
if (lazy) {
|
|
406
420
|
const rest = fullAllDataRowIdData[rowid];
|
|
407
421
|
isLazyLoading = !!treeExpandLazyLoadedMaps[rowid];
|
|
@@ -548,7 +562,8 @@ export const Cell = {
|
|
|
548
562
|
const headerSlot = slots ? slots.header : null;
|
|
549
563
|
const titleSlot = slots ? slots.title : null;
|
|
550
564
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
551
|
-
const headerTitle =
|
|
565
|
+
const { checkStrictly, showHeader, headerTitle } = checkboxOpts;
|
|
566
|
+
const colTitle = column.getTitle();
|
|
552
567
|
const ons = {};
|
|
553
568
|
if (!isHidden) {
|
|
554
569
|
ons.onClick = (evnt) => {
|
|
@@ -561,11 +576,11 @@ export const Cell = {
|
|
|
561
576
|
if (headerSlot) {
|
|
562
577
|
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, $table.callSlot(headerSlot, checkboxParams)));
|
|
563
578
|
}
|
|
564
|
-
if (
|
|
579
|
+
if (checkStrictly ? !showHeader : showHeader === false) {
|
|
565
580
|
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, [
|
|
566
581
|
h('span', {
|
|
567
582
|
class: 'vxe-checkbox--label'
|
|
568
|
-
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) :
|
|
583
|
+
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : colTitle)
|
|
569
584
|
]));
|
|
570
585
|
}
|
|
571
586
|
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, [
|
|
@@ -573,15 +588,15 @@ export const Cell = {
|
|
|
573
588
|
'is--checked': isAllCheckboxSelected,
|
|
574
589
|
'is--disabled': isAllCheckboxDisabled,
|
|
575
590
|
'is--indeterminate': isAllCheckboxIndeterminate
|
|
576
|
-
}], title: getI18n('vxe.table.allTitle') }, ons), [
|
|
591
|
+
}], title: XEUtils.eqNull(headerTitle) ? getI18n('vxe.table.allTitle') : `${headerTitle || ''}` }, ons), [
|
|
577
592
|
h('span', {
|
|
578
593
|
class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllCheckboxSelected ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
|
|
579
594
|
})
|
|
580
|
-
].concat(titleSlot ||
|
|
595
|
+
].concat(titleSlot || colTitle
|
|
581
596
|
? [
|
|
582
597
|
h('span', {
|
|
583
598
|
class: 'vxe-checkbox--label'
|
|
584
|
-
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) :
|
|
599
|
+
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : colTitle)
|
|
585
600
|
]
|
|
586
601
|
: []))
|
|
587
602
|
]));
|
|
@@ -590,8 +605,10 @@ export const Cell = {
|
|
|
590
605
|
const { $table, row, column, isHidden } = params;
|
|
591
606
|
const tableProps = $table.props;
|
|
592
607
|
const tableReactData = $table.reactData;
|
|
608
|
+
const tableInternalData = $table.internalData;
|
|
593
609
|
const { treeConfig } = tableProps;
|
|
594
|
-
const {
|
|
610
|
+
const { updateCheckboxFlag } = tableReactData;
|
|
611
|
+
const { selectCheckboxMaps, treeIndeterminateRowMaps } = tableInternalData;
|
|
595
612
|
const { computeCheckboxOpts } = $table.getComputeMaps();
|
|
596
613
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
597
614
|
const { labelField, checkMethod, visibleMethod } = checkboxOpts;
|
|
@@ -605,7 +622,7 @@ export const Cell = {
|
|
|
605
622
|
const ons = {};
|
|
606
623
|
if (!isHidden) {
|
|
607
624
|
const rowid = getRowid($table, row);
|
|
608
|
-
isChecked = !!selectCheckboxMaps[rowid];
|
|
625
|
+
isChecked = !!updateCheckboxFlag && !!selectCheckboxMaps[rowid];
|
|
609
626
|
ons.onClick = (evnt) => {
|
|
610
627
|
if (!isDisabled && isVisible) {
|
|
611
628
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
@@ -615,7 +632,7 @@ export const Cell = {
|
|
|
615
632
|
isDisabled = !checkMethod({ row });
|
|
616
633
|
}
|
|
617
634
|
if (treeConfig) {
|
|
618
|
-
indeterminate = !!
|
|
635
|
+
indeterminate = !!treeIndeterminateRowMaps[rowid];
|
|
619
636
|
}
|
|
620
637
|
}
|
|
621
638
|
const checkboxParams = Object.assign(Object.assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate });
|
|
@@ -649,8 +666,10 @@ export const Cell = {
|
|
|
649
666
|
const { $table, row, column, isHidden } = params;
|
|
650
667
|
const tableProps = $table.props;
|
|
651
668
|
const tableReactData = $table.reactData;
|
|
669
|
+
const tableInternalData = $table.internalData;
|
|
652
670
|
const { treeConfig } = tableProps;
|
|
653
|
-
const {
|
|
671
|
+
const { updateCheckboxFlag } = tableReactData;
|
|
672
|
+
const { treeIndeterminateRowMaps } = tableInternalData;
|
|
654
673
|
const { computeCheckboxOpts } = $table.getComputeMaps();
|
|
655
674
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
656
675
|
const { labelField, checkField, checkMethod, visibleMethod } = checkboxOpts;
|
|
@@ -665,7 +684,7 @@ export const Cell = {
|
|
|
665
684
|
const ons = {};
|
|
666
685
|
if (!isHidden) {
|
|
667
686
|
const rowid = getRowid($table, row);
|
|
668
|
-
isChecked = XEUtils.get(row, checkField);
|
|
687
|
+
isChecked = !!updateCheckboxFlag && XEUtils.get(row, checkField);
|
|
669
688
|
ons.onClick = (evnt) => {
|
|
670
689
|
if (!isDisabled && isVisible) {
|
|
671
690
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
@@ -675,7 +694,7 @@ export const Cell = {
|
|
|
675
694
|
isDisabled = !checkMethod({ row });
|
|
676
695
|
}
|
|
677
696
|
if (treeConfig) {
|
|
678
|
-
isIndeterminate = !!
|
|
697
|
+
isIndeterminate = !!treeIndeterminateRowMaps[rowid];
|
|
679
698
|
}
|
|
680
699
|
}
|
|
681
700
|
const checkboxParams = Object.assign(Object.assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate: isIndeterminate });
|
|
@@ -710,8 +729,8 @@ export const Cell = {
|
|
|
710
729
|
*/
|
|
711
730
|
renderExpandCell(params) {
|
|
712
731
|
const { $table, isHidden, row, column } = params;
|
|
713
|
-
const
|
|
714
|
-
const { rowExpandedMaps, rowExpandLazyLoadedMaps } =
|
|
732
|
+
const tableInternalData = $table.internalData;
|
|
733
|
+
const { rowExpandedMaps, rowExpandLazyLoadedMaps } = tableInternalData;
|
|
715
734
|
const { computeExpandOpts } = $table.getComputeMaps();
|
|
716
735
|
const expandOpts = computeExpandOpts.value;
|
|
717
736
|
const { lazy, labelField, iconLoaded, showIcon, iconOpen, iconClose, visibleMethod } = expandOpts;
|
|
@@ -809,7 +828,7 @@ export const Cell = {
|
|
|
809
828
|
const { $table, column } = params;
|
|
810
829
|
const { computeSortOpts } = $table.getComputeMaps();
|
|
811
830
|
const sortOpts = computeSortOpts.value;
|
|
812
|
-
const { showIcon, allowBtn, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts;
|
|
831
|
+
const { showIcon, allowBtn, ascTitle, descTitle, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts;
|
|
813
832
|
const { order } = column;
|
|
814
833
|
if (showIcon && (!iconVisibleMethod || iconVisibleMethod(params))) {
|
|
815
834
|
return [
|
|
@@ -820,7 +839,7 @@ export const Cell = {
|
|
|
820
839
|
class: ['vxe-sort--asc-btn', iconAsc || getIcon().TABLE_SORT_ASC, {
|
|
821
840
|
'sort--active': order === 'asc'
|
|
822
841
|
}],
|
|
823
|
-
title: getI18n('vxe.table.sortAsc')
|
|
842
|
+
title: XEUtils.eqNull(ascTitle) ? getI18n('vxe.table.sortAsc') : `${ascTitle || ''}`,
|
|
824
843
|
onClick: allowBtn
|
|
825
844
|
? (evnt) => {
|
|
826
845
|
evnt.stopPropagation();
|
|
@@ -832,7 +851,7 @@ export const Cell = {
|
|
|
832
851
|
class: ['vxe-sort--desc-btn', iconDesc || getIcon().TABLE_SORT_DESC, {
|
|
833
852
|
'sort--active': order === 'desc'
|
|
834
853
|
}],
|
|
835
|
-
title: getI18n('vxe.table.sortDesc')
|
|
854
|
+
title: XEUtils.eqNull(descTitle) ? getI18n('vxe.table.sortDesc') : `${descTitle || ''}`,
|
|
836
855
|
onClick: allowBtn
|
|
837
856
|
? (evnt) => {
|
|
838
857
|
evnt.stopPropagation();
|
|
@@ -7,10 +7,10 @@ const { getI18n, formats } = VxeUI;
|
|
|
7
7
|
export class ColumnInfo {
|
|
8
8
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
9
9
|
constructor($xeTable, _vm, { renderHeader, renderCell, renderFooter, renderData } = {}) {
|
|
10
|
-
const
|
|
10
|
+
const tableProps = $xeTable.props;
|
|
11
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
11
12
|
const formatter = _vm.formatter;
|
|
12
13
|
const visible = XEUtils.isBoolean(_vm.visible) ? _vm.visible : true;
|
|
13
|
-
const { props: tableProps } = $xeTable;
|
|
14
14
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
|
15
15
|
if (_vm.type && types.indexOf(_vm.type) === -1) {
|
|
16
16
|
warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
|
package/es/table/src/footer.js
CHANGED
|
@@ -49,10 +49,11 @@ export default defineComponent({
|
|
|
49
49
|
const refFooterTFoot = ref();
|
|
50
50
|
const refFooterXSpace = ref();
|
|
51
51
|
const renderRows = (tableColumn, footerTableData, row, $rowIndex, _rowIndex) => {
|
|
52
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
52
53
|
const { fixedType } = props;
|
|
53
54
|
const { resizable: allResizable, border, footerCellClassName, footerCellStyle, footerAlign: allFooterAlign, footerSpanMethod, align: allAlign, columnKey, showFooterOverflow: allColumnFooterOverflow } = tableProps;
|
|
54
55
|
const { scrollXLoad, scrollYLoad, overflowX, currentColumn, mergeFooterList } = tableReactData;
|
|
55
|
-
const { scrollXStore } = tableInternalData;
|
|
56
|
+
const { fullColumnIdData, scrollXStore } = tableInternalData;
|
|
56
57
|
const tooltipOpts = computeTooltipOpts.value;
|
|
57
58
|
const resizableOpts = computeResizableOpts.value;
|
|
58
59
|
const { isAllColumnDrag } = resizableOpts;
|
|
@@ -64,6 +65,7 @@ export default defineComponent({
|
|
|
64
65
|
return tableColumn.map((column, $columnIndex) => {
|
|
65
66
|
const { type, showFooterOverflow, footerAlign, align, footerClassName, editRender, cellRender } = column;
|
|
66
67
|
const colid = column.id;
|
|
68
|
+
const colRest = fullColumnIdData[colid] || {};
|
|
67
69
|
const renderOpts = editRender || cellRender;
|
|
68
70
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
69
71
|
const showAllTip = tooltipOpts.showAll;
|
|
@@ -79,12 +81,12 @@ export default defineComponent({
|
|
|
79
81
|
const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
|
|
80
82
|
const attrs = { colid };
|
|
81
83
|
const tfOns = {};
|
|
82
|
-
const columnIndex =
|
|
83
|
-
const _columnIndex =
|
|
84
|
+
const columnIndex = colRest.index;
|
|
85
|
+
const _columnIndex = colRest._index;
|
|
84
86
|
const itemIndex = _columnIndex;
|
|
85
87
|
const cellParams = {
|
|
86
88
|
$table: $xeTable,
|
|
87
|
-
$grid: $
|
|
89
|
+
$grid: $xeGrid,
|
|
88
90
|
row,
|
|
89
91
|
rowIndex: _rowIndex,
|
|
90
92
|
_rowIndex,
|
|
@@ -250,7 +252,7 @@ export default defineComponent({
|
|
|
250
252
|
const { fixedType, fixedColumn, tableColumn } = props;
|
|
251
253
|
const { spanMethod, footerSpanMethod, showFooterOverflow: allColumnFooterOverflow } = tableProps;
|
|
252
254
|
const { visibleColumn, fullColumnIdData } = tableInternalData;
|
|
253
|
-
const { isGroup, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
|
|
255
|
+
const { isGroup, isColLoading, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
|
|
254
256
|
let renderColumnList = tableColumn;
|
|
255
257
|
let isOptimizeMode = false;
|
|
256
258
|
// 如果是使用优化模式
|
|
@@ -262,7 +264,7 @@ export default defineComponent({
|
|
|
262
264
|
isOptimizeMode = true;
|
|
263
265
|
}
|
|
264
266
|
}
|
|
265
|
-
if (fixedType || !overflowX) {
|
|
267
|
+
if (!isColLoading && (fixedType || !overflowX)) {
|
|
266
268
|
renderColumnList = visibleColumn;
|
|
267
269
|
}
|
|
268
270
|
if (fixedType) {
|
|
@@ -329,7 +331,10 @@ export default defineComponent({
|
|
|
329
331
|
}, renderColumnList.map((column, $columnIndex) => {
|
|
330
332
|
return h('col', {
|
|
331
333
|
name: column.id,
|
|
332
|
-
key: $columnIndex
|
|
334
|
+
key: $columnIndex,
|
|
335
|
+
style: {
|
|
336
|
+
width: `${column.renderWidth}px`
|
|
337
|
+
}
|
|
333
338
|
});
|
|
334
339
|
})),
|
|
335
340
|
/**
|
package/es/table/src/header.js
CHANGED
|
@@ -33,10 +33,11 @@ export default defineComponent({
|
|
|
33
33
|
headerColumn.value = isGroup ? convertHeaderColumnToRows(props.tableGroupColumn) : [];
|
|
34
34
|
};
|
|
35
35
|
const renderRows = (isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
36
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
36
37
|
const { fixedType } = props;
|
|
37
38
|
const { resizable: allResizable, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
|
|
38
39
|
const { currentColumn, dragCol, scrollXLoad, scrollYLoad, overflowX } = tableReactData;
|
|
39
|
-
const { scrollXStore } = tableInternalData;
|
|
40
|
+
const { fullColumnIdData, scrollXStore } = tableInternalData;
|
|
40
41
|
const columnOpts = computeColumnOpts.value;
|
|
41
42
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
42
43
|
const cellOpts = computeCellOpts.value;
|
|
@@ -47,6 +48,7 @@ export default defineComponent({
|
|
|
47
48
|
return cols.map((column, $columnIndex) => {
|
|
48
49
|
const { type, showHeaderOverflow, headerAlign, align, filters, headerClassName, editRender, cellRender } = column;
|
|
49
50
|
const colid = column.id;
|
|
51
|
+
const colRest = fullColumnIdData[colid] || {};
|
|
50
52
|
const renderOpts = editRender || cellRender;
|
|
51
53
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
52
54
|
const isColGroup = column.children && column.children.length;
|
|
@@ -64,9 +66,9 @@ export default defineComponent({
|
|
|
64
66
|
firstFilterOption = filters[0];
|
|
65
67
|
hasFilter = filters.some((item) => item.checked);
|
|
66
68
|
}
|
|
67
|
-
const columnIndex =
|
|
68
|
-
const _columnIndex =
|
|
69
|
-
const cellParams = { $table: $xeTable, $grid: $
|
|
69
|
+
const columnIndex = colRest.index;
|
|
70
|
+
const _columnIndex = colRest._index;
|
|
71
|
+
const cellParams = { $table: $xeTable, $grid: $xeGrid, $rowIndex, column, columnIndex, $columnIndex, _columnIndex, firstFilterOption, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, hasFilter };
|
|
70
72
|
const thAttrs = {
|
|
71
73
|
colid,
|
|
72
74
|
colspan: column.colSpan > 1 ? column.colSpan : null,
|
|
@@ -199,7 +201,7 @@ export default defineComponent({
|
|
|
199
201
|
const renderVN = () => {
|
|
200
202
|
const { fixedType, fixedColumn, tableColumn } = props;
|
|
201
203
|
const { mouseConfig, showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps;
|
|
202
|
-
const { isGroup, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
|
|
204
|
+
const { isGroup, isColLoading, overflowX, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
|
|
203
205
|
const { visibleColumn, fullColumnIdData } = tableInternalData;
|
|
204
206
|
const mouseOpts = computeMouseOpts.value;
|
|
205
207
|
let renderHeaderList = headerColumn.value;
|
|
@@ -218,7 +220,7 @@ export default defineComponent({
|
|
|
218
220
|
isOptimizeMode = true;
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
|
-
if (fixedType || !overflowX) {
|
|
223
|
+
if (!isColLoading && (fixedType || !overflowX)) {
|
|
222
224
|
renderColumnList = visibleColumn;
|
|
223
225
|
}
|
|
224
226
|
if (fixedType) {
|
|
@@ -290,7 +292,10 @@ export default defineComponent({
|
|
|
290
292
|
}, renderColumnList.map((column, $columnIndex) => {
|
|
291
293
|
return h('col', {
|
|
292
294
|
name: column.id,
|
|
293
|
-
key: $columnIndex
|
|
295
|
+
key: $columnIndex,
|
|
296
|
+
style: {
|
|
297
|
+
width: `${column.renderWidth}px`
|
|
298
|
+
}
|
|
294
299
|
});
|
|
295
300
|
})),
|
|
296
301
|
/**
|
package/es/table/src/props.js
CHANGED
|
@@ -182,6 +182,8 @@ export default {
|
|
|
182
182
|
resizeConfig: Object,
|
|
183
183
|
// 列配置信息
|
|
184
184
|
columnConfig: Object,
|
|
185
|
+
// 当前列配置信息
|
|
186
|
+
currentColumnConfig: Object,
|
|
185
187
|
// 单元格配置信息
|
|
186
188
|
cellConfig: Object,
|
|
187
189
|
// 表头单元格配置信息
|
|
@@ -190,6 +192,8 @@ export default {
|
|
|
190
192
|
footerCellConfig: Object,
|
|
191
193
|
// 行配置信息
|
|
192
194
|
rowConfig: Object,
|
|
195
|
+
// 当前行配置信息
|
|
196
|
+
currentRowConfig: Object,
|
|
193
197
|
// 已废弃,被 rowDragConfig 替换
|
|
194
198
|
dragConfig: Object,
|
|
195
199
|
// 行拖拽排序配置项
|