vxe-table 4.12.4 → 4.13.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +2 -2
- package/es/locale/lang/ar-EG.js +3 -1
- package/es/locale/lang/de-DE.js +3 -1
- package/es/locale/lang/en-US.js +7 -5
- package/es/locale/lang/es-ES.js +3 -1
- package/es/locale/lang/fr-FR.js +3 -1
- package/es/locale/lang/hu-HU.js +3 -1
- package/es/locale/lang/hy-AM.js +3 -1
- package/es/locale/lang/id-ID.js +3 -1
- package/es/locale/lang/it-IT.js +3 -1
- package/es/locale/lang/ja-JP.js +3 -1
- package/es/locale/lang/ko-KR.js +3 -1
- package/es/locale/lang/nb-NO.js +3 -1
- package/es/locale/lang/pt-BR.js +3 -1
- package/es/locale/lang/ru-RU.js +3 -1
- package/es/locale/lang/th-TH.js +3 -1
- package/es/locale/lang/ug-CN.js +3 -1
- package/es/locale/lang/uk-UA.js +3 -1
- package/es/locale/lang/vi-VN.js +3 -1
- package/es/locale/lang/zh-CHT.js +3 -1
- package/es/locale/lang/zh-CN.js +3 -1
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +10 -9
- package/es/table/module/export/export-panel.js +31 -19
- package/es/table/module/export/hook.js +16 -12
- package/es/table/src/body.js +11 -13
- package/es/table/src/footer.js +3 -16
- package/es/table/src/table.js +243 -107
- package/es/table/src/util.js +0 -13
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +2 -2
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +8540 -8566
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +3 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -5
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -5
- package/lib/locale/lang/es-ES.js +3 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -1
- package/lib/locale/lang/fr-FR.js +3 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +3 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +3 -1
- package/lib/locale/lang/hy-AM.js +3 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +3 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +3 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +3 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +3 -1
- package/lib/locale/lang/ko-KR.js +3 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +3 -1
- package/lib/locale/lang/nb-NO.js +3 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +3 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +3 -1
- package/lib/locale/lang/ru-RU.js +3 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +3 -1
- package/lib/locale/lang/th-TH.js +3 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +3 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +3 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +3 -1
- package/lib/locale/lang/vi-VN.js +3 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +3 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +3 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +9 -9
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +26 -19
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +19 -14
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/src/body.js +14 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -27
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/table.js +271 -108
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -25
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -2
- 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 +2 -2
- package/packages/locale/lang/ar-EG.ts +3 -1
- package/packages/locale/lang/de-DE.ts +3 -1
- package/packages/locale/lang/en-US.ts +7 -5
- package/packages/locale/lang/es-ES.ts +3 -1
- package/packages/locale/lang/fr-FR.ts +3 -1
- package/packages/locale/lang/hu-HU.ts +3 -1
- package/packages/locale/lang/hy-AM.ts +3 -1
- package/packages/locale/lang/id-ID.ts +3 -1
- package/packages/locale/lang/it-IT.ts +3 -1
- package/packages/locale/lang/ja-JP.ts +3 -1
- package/packages/locale/lang/ko-KR.ts +3 -1
- package/packages/locale/lang/nb-NO.ts +3 -1
- package/packages/locale/lang/pt-BR.ts +3 -1
- package/packages/locale/lang/ru-RU.ts +3 -1
- package/packages/locale/lang/th-TH.ts +3 -1
- package/packages/locale/lang/ug-CN.ts +3 -1
- package/packages/locale/lang/uk-UA.ts +3 -1
- package/packages/locale/lang/vi-VN.ts +3 -1
- package/packages/locale/lang/zh-CHT.ts +3 -1
- package/packages/locale/lang/zh-CN.ts +3 -1
- package/packages/table/module/edit/hook.ts +10 -9
- package/packages/table/module/export/export-panel.ts +31 -19
- package/packages/table/module/export/hook.ts +18 -14
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/footer.ts +3 -17
- package/packages/table/src/table.ts +240 -107
- package/packages/table/src/util.ts +0 -14
- package/packages/ui/index.ts +1 -1
- /package/es/{iconfont.1743394011765.ttf → iconfont.1743578564396.ttf} +0 -0
- /package/es/{iconfont.1743394011765.woff → iconfont.1743578564396.woff} +0 -0
- /package/es/{iconfont.1743394011765.woff2 → iconfont.1743578564396.woff2} +0 -0
- /package/lib/{iconfont.1743394011765.ttf → iconfont.1743578564396.ttf} +0 -0
- /package/lib/{iconfont.1743394011765.woff → iconfont.1743578564396.woff} +0 -0
- /package/lib/{iconfont.1743394011765.woff2 → iconfont.1743578564396.woff2} +0 -0
package/es/table/src/table.js
CHANGED
|
@@ -82,10 +82,6 @@ export default defineComponent({
|
|
|
82
82
|
// 树节点列信息
|
|
83
83
|
treeNodeColumn: null,
|
|
84
84
|
hasFixedColumn: false,
|
|
85
|
-
// 合并单元格的对象集
|
|
86
|
-
mergeList: [],
|
|
87
|
-
// 合并表尾数据的对象集
|
|
88
|
-
mergeFooterList: [],
|
|
89
85
|
// 刷新列标识,当列筛选被改变时,触发表格刷新数据
|
|
90
86
|
upDataFlag: 0,
|
|
91
87
|
// 刷新列标识,当列的特定属性被改变时,触发表格刷新列
|
|
@@ -229,6 +225,7 @@ export default defineComponent({
|
|
|
229
225
|
original: false,
|
|
230
226
|
message: true,
|
|
231
227
|
isHeader: false,
|
|
228
|
+
isTitle: false,
|
|
232
229
|
isFooter: false
|
|
233
230
|
},
|
|
234
231
|
rowExpandedFlag: 1,
|
|
@@ -237,6 +234,8 @@ export default defineComponent({
|
|
|
237
234
|
pendingRowFlag: 1,
|
|
238
235
|
insertRowFlag: 1,
|
|
239
236
|
removeRowFlag: 1,
|
|
237
|
+
mergeBodyFlag: 1,
|
|
238
|
+
mergeFootFlag: 1,
|
|
240
239
|
rowHeightStore: {
|
|
241
240
|
default: 48,
|
|
242
241
|
medium: 44,
|
|
@@ -329,13 +328,26 @@ export default defineComponent({
|
|
|
329
328
|
tableFullColumn: [],
|
|
330
329
|
// 渲染所有列
|
|
331
330
|
visibleColumn: [],
|
|
332
|
-
//
|
|
331
|
+
// 全量数据集(包括当前和已删除)
|
|
333
332
|
fullAllDataRowIdData: {},
|
|
333
|
+
// 数据集(仅当前)
|
|
334
|
+
fullDataRowIdData: {},
|
|
335
|
+
// 数据集(仅可视)
|
|
336
|
+
visibleDataRowIdData: {},
|
|
334
337
|
// 渲染中缓存数据
|
|
335
338
|
sourceDataRowIdData: {},
|
|
336
|
-
fullDataRowIdData: {},
|
|
337
339
|
fullColumnIdData: {},
|
|
338
340
|
fullColumnFieldData: {},
|
|
341
|
+
// 合并单元格的数据
|
|
342
|
+
mergeBodyList: [],
|
|
343
|
+
mergeBodyMaps: {},
|
|
344
|
+
// 合并表尾的数据
|
|
345
|
+
mergeFooterList: [],
|
|
346
|
+
mergeFooterMaps: {},
|
|
347
|
+
// 已合并单元格数据集合
|
|
348
|
+
mergeBodyCellMaps: {},
|
|
349
|
+
// 已合并表尾数据集合
|
|
350
|
+
mergeFooterCellMaps: {},
|
|
339
351
|
// 已展开的行集合
|
|
340
352
|
rowExpandedMaps: {},
|
|
341
353
|
// 懒加载中的展开行的集合
|
|
@@ -642,17 +654,18 @@ export default defineComponent({
|
|
|
642
654
|
return Object.assign({}, getConfig().table.customConfig, props.customConfig);
|
|
643
655
|
});
|
|
644
656
|
const computeTableRowExpandedList = computed(() => {
|
|
645
|
-
const {
|
|
646
|
-
const {
|
|
647
|
-
const {
|
|
657
|
+
const { treeConfig } = props;
|
|
658
|
+
const { rowExpandedFlag, expandColumn } = reactData;
|
|
659
|
+
const { visibleDataRowIdData, rowExpandedMaps } = internalData;
|
|
660
|
+
const treeOpts = computeTreeOpts.value;
|
|
661
|
+
const { transform } = treeOpts;
|
|
648
662
|
const expandList = [];
|
|
649
663
|
if (expandColumn && rowExpandedFlag) {
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
});
|
|
664
|
+
if (treeConfig && !transform) {
|
|
665
|
+
return XEUtils.values(rowExpandedMaps);
|
|
666
|
+
}
|
|
654
667
|
XEUtils.each(rowExpandedMaps, (row, rowid) => {
|
|
655
|
-
if (
|
|
668
|
+
if (visibleDataRowIdData[rowid]) {
|
|
656
669
|
expandList.push(row);
|
|
657
670
|
}
|
|
658
671
|
});
|
|
@@ -1023,30 +1036,66 @@ export default defineComponent({
|
|
|
1023
1036
|
}
|
|
1024
1037
|
}
|
|
1025
1038
|
};
|
|
1026
|
-
|
|
1039
|
+
function buildMergeData(mergeConfigs) {
|
|
1040
|
+
const mergeMaps = {};
|
|
1041
|
+
if (mergeConfigs && mergeConfigs.length) {
|
|
1042
|
+
for (let mIndex = 0; mIndex < mergeConfigs.length; mIndex++) {
|
|
1043
|
+
const { row: _rowIndex, col: _columnIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeConfigs[mIndex];
|
|
1044
|
+
for (let i = 0; i < mergeRowspan; i++) {
|
|
1045
|
+
for (let j = 0; j < mergeColspan; j++) {
|
|
1046
|
+
mergeMaps[`${_rowIndex + i}:${_columnIndex + j}`] = !i && !j
|
|
1047
|
+
? {
|
|
1048
|
+
rowspan: mergeRowspan,
|
|
1049
|
+
colspan: mergeColspan
|
|
1050
|
+
}
|
|
1051
|
+
: {
|
|
1052
|
+
rowspan: 0,
|
|
1053
|
+
colspan: 0
|
|
1054
|
+
};
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
return mergeMaps;
|
|
1060
|
+
}
|
|
1061
|
+
const handleBodyMerge = (merges) => {
|
|
1062
|
+
const { fullAllDataRowIdData, fullColumnIdData, visibleColumn, afterFullData, mergeBodyList, mergeBodyMaps } = internalData;
|
|
1027
1063
|
if (merges) {
|
|
1028
|
-
|
|
1029
|
-
const { visibleColumn } = internalData;
|
|
1064
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
1030
1065
|
if (!XEUtils.isArray(merges)) {
|
|
1031
1066
|
merges = [merges];
|
|
1032
1067
|
}
|
|
1033
|
-
// if (treeConfig && merges.length) {
|
|
1034
|
-
// errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
|
|
1035
|
-
// }
|
|
1036
1068
|
merges.forEach((item) => {
|
|
1037
|
-
let { row, col, rowspan, colspan } = item;
|
|
1038
|
-
|
|
1039
|
-
|
|
1069
|
+
let { row: margeRow, col: margeCol, rowspan, colspan } = item;
|
|
1070
|
+
let mergeRowIndex = -1;
|
|
1071
|
+
let mergeColumnIndex = -1;
|
|
1072
|
+
if (XEUtils.isNumber(margeRow)) {
|
|
1073
|
+
mergeRowIndex = margeRow;
|
|
1040
1074
|
}
|
|
1041
|
-
|
|
1042
|
-
|
|
1075
|
+
else {
|
|
1076
|
+
const rowid = margeRow ? handleGetRowId(margeRow) : null;
|
|
1077
|
+
const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
|
|
1078
|
+
if (rowRest) {
|
|
1079
|
+
mergeRowIndex = rowRest._index;
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
if (XEUtils.isNumber(margeCol)) {
|
|
1083
|
+
mergeColumnIndex = margeCol;
|
|
1084
|
+
}
|
|
1085
|
+
else {
|
|
1086
|
+
const colid = margeCol ? margeCol.id : null;
|
|
1087
|
+
const colRest = colid ? fullColumnIdData[colid] : null;
|
|
1088
|
+
if (colRest) {
|
|
1089
|
+
mergeColumnIndex = colRest._index;
|
|
1090
|
+
}
|
|
1043
1091
|
}
|
|
1044
|
-
if (
|
|
1092
|
+
if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
|
|
1045
1093
|
rowspan = XEUtils.toNumber(rowspan) || 1;
|
|
1046
1094
|
colspan = XEUtils.toNumber(colspan) || 1;
|
|
1047
1095
|
if (rowspan > 1 || colspan > 1) {
|
|
1048
|
-
const
|
|
1049
|
-
const
|
|
1096
|
+
const row = afterFullData[mergeRowIndex];
|
|
1097
|
+
const column = visibleColumn[mergeColumnIndex];
|
|
1098
|
+
let mergeItem = mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
|
|
1050
1099
|
if (mergeItem) {
|
|
1051
1100
|
mergeItem.rowspan = rowspan;
|
|
1052
1101
|
mergeItem.colspan = colspan;
|
|
@@ -1054,18 +1103,65 @@ export default defineComponent({
|
|
|
1054
1103
|
mergeItem._colspan = colspan;
|
|
1055
1104
|
}
|
|
1056
1105
|
else {
|
|
1057
|
-
|
|
1058
|
-
const mergeColIndex = tableMethods.getVTColumnIndex(col);
|
|
1059
|
-
mList.push({
|
|
1106
|
+
mergeItem = {
|
|
1060
1107
|
row: mergeRowIndex,
|
|
1061
|
-
col:
|
|
1108
|
+
col: mergeColumnIndex,
|
|
1062
1109
|
rowspan,
|
|
1063
1110
|
colspan,
|
|
1064
1111
|
_row: row,
|
|
1065
|
-
_col:
|
|
1112
|
+
_col: column,
|
|
1066
1113
|
_rowspan: rowspan,
|
|
1067
1114
|
_colspan: colspan
|
|
1068
|
-
}
|
|
1115
|
+
};
|
|
1116
|
+
mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem;
|
|
1117
|
+
mergeBodyList.push(mergeItem);
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
1121
|
+
});
|
|
1122
|
+
}
|
|
1123
|
+
};
|
|
1124
|
+
const handleFooterMerge = (merges) => {
|
|
1125
|
+
const { footerTableData } = reactData;
|
|
1126
|
+
const { mergeFooterList, mergeFooterMaps } = internalData;
|
|
1127
|
+
if (merges) {
|
|
1128
|
+
const { visibleColumn } = internalData;
|
|
1129
|
+
if (!XEUtils.isArray(merges)) {
|
|
1130
|
+
merges = [merges];
|
|
1131
|
+
}
|
|
1132
|
+
merges.forEach((item) => {
|
|
1133
|
+
let { row: margeRow, col: margeCol, rowspan, colspan } = item;
|
|
1134
|
+
const mergeRowIndex = XEUtils.isNumber(margeRow) ? margeRow : -1;
|
|
1135
|
+
let mergeColumnIndex = -1;
|
|
1136
|
+
if (XEUtils.isNumber(margeCol)) {
|
|
1137
|
+
mergeColumnIndex = margeCol;
|
|
1138
|
+
}
|
|
1139
|
+
if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
|
|
1140
|
+
rowspan = XEUtils.toNumber(rowspan) || 1;
|
|
1141
|
+
colspan = XEUtils.toNumber(colspan) || 1;
|
|
1142
|
+
if (rowspan > 1 || colspan > 1) {
|
|
1143
|
+
const row = footerTableData[mergeRowIndex];
|
|
1144
|
+
const column = visibleColumn[mergeColumnIndex];
|
|
1145
|
+
let mergeItem = mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
|
|
1146
|
+
if (mergeItem) {
|
|
1147
|
+
mergeItem.rowspan = rowspan;
|
|
1148
|
+
mergeItem.colspan = colspan;
|
|
1149
|
+
mergeItem._rowspan = rowspan;
|
|
1150
|
+
mergeItem._colspan = colspan;
|
|
1151
|
+
}
|
|
1152
|
+
else {
|
|
1153
|
+
mergeItem = {
|
|
1154
|
+
row: mergeRowIndex,
|
|
1155
|
+
col: mergeColumnIndex,
|
|
1156
|
+
rowspan,
|
|
1157
|
+
colspan,
|
|
1158
|
+
_row: row,
|
|
1159
|
+
_col: column,
|
|
1160
|
+
_rowspan: rowspan,
|
|
1161
|
+
_colspan: colspan
|
|
1162
|
+
};
|
|
1163
|
+
mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem;
|
|
1164
|
+
mergeFooterList.push(mergeItem);
|
|
1069
1165
|
}
|
|
1070
1166
|
}
|
|
1071
1167
|
}
|
|
@@ -1209,6 +1305,7 @@ export default defineComponent({
|
|
|
1209
1305
|
const expandOpts = computeExpandOpts.value;
|
|
1210
1306
|
const columnOpts = computeColumnOpts.value;
|
|
1211
1307
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
1308
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
1212
1309
|
const { isCrossDrag, isSelfToChildDrag } = columnDragOpts;
|
|
1213
1310
|
const customOpts = computeCustomOpts.value;
|
|
1214
1311
|
const { storage } = customOpts;
|
|
@@ -1242,41 +1339,35 @@ export default defineComponent({
|
|
|
1242
1339
|
htmlColumn = column;
|
|
1243
1340
|
}
|
|
1244
1341
|
if (treeNode) {
|
|
1245
|
-
if (
|
|
1246
|
-
|
|
1247
|
-
warnLog('vxe.error.colRepet', ['tree-node', treeNode]);
|
|
1248
|
-
}
|
|
1342
|
+
if (treeNodeColumn) {
|
|
1343
|
+
warnLog('vxe.error.colRepet', ['tree-node', treeNode]);
|
|
1249
1344
|
}
|
|
1250
1345
|
if (!treeNodeColumn) {
|
|
1251
1346
|
treeNodeColumn = column;
|
|
1252
1347
|
}
|
|
1253
1348
|
}
|
|
1254
1349
|
else if (type === 'expand') {
|
|
1255
|
-
if (
|
|
1256
|
-
|
|
1257
|
-
warnLog('vxe.error.colRepet', ['type', type]);
|
|
1258
|
-
}
|
|
1350
|
+
if (expandColumn) {
|
|
1351
|
+
warnLog('vxe.error.colRepet', ['type', type]);
|
|
1259
1352
|
}
|
|
1260
1353
|
if (!expandColumn) {
|
|
1261
1354
|
expandColumn = column;
|
|
1262
1355
|
}
|
|
1263
1356
|
}
|
|
1264
|
-
if (
|
|
1265
|
-
if (
|
|
1266
|
-
|
|
1267
|
-
warnLog('vxe.error.colRepet', ['type', type]);
|
|
1268
|
-
}
|
|
1269
|
-
if (!checkboxColumn) {
|
|
1270
|
-
checkboxColumn = column;
|
|
1271
|
-
}
|
|
1357
|
+
if (type === 'checkbox') {
|
|
1358
|
+
if (checkboxColumn) {
|
|
1359
|
+
warnLog('vxe.error.colRepet', ['type', type]);
|
|
1272
1360
|
}
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1361
|
+
if (!checkboxColumn) {
|
|
1362
|
+
checkboxColumn = column;
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
else if (type === 'radio') {
|
|
1366
|
+
if (radioColumn) {
|
|
1367
|
+
warnLog('vxe.error.colRepet', ['type', type]);
|
|
1368
|
+
}
|
|
1369
|
+
if (!radioColumn) {
|
|
1370
|
+
radioColumn = column;
|
|
1280
1371
|
}
|
|
1281
1372
|
}
|
|
1282
1373
|
if (isAllOverflow && column.showOverflow === false) {
|
|
@@ -1296,6 +1387,9 @@ export default defineComponent({
|
|
|
1296
1387
|
else {
|
|
1297
1388
|
tableFullColumn.forEach(handleFunc);
|
|
1298
1389
|
}
|
|
1390
|
+
if (expandColumn && expandOpts.mode !== 'fixed' && virtualYOpts.enabled) {
|
|
1391
|
+
warnLog('vxe.error.notConflictProp', ['column.type="expand', 'virtual-y-config.enabled=false']);
|
|
1392
|
+
}
|
|
1299
1393
|
if ((expandColumn && expandOpts.mode !== 'fixed') && mouseOpts.area) {
|
|
1300
1394
|
errLog('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand']);
|
|
1301
1395
|
}
|
|
@@ -2611,6 +2705,7 @@ export default defineComponent({
|
|
|
2611
2705
|
const { scrollYLoad: oldScrollYLoad } = reactData;
|
|
2612
2706
|
const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData;
|
|
2613
2707
|
const treeOpts = computeTreeOpts.value;
|
|
2708
|
+
const expandOpts = computeExpandOpts.value;
|
|
2614
2709
|
const { transform } = treeOpts;
|
|
2615
2710
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2616
2711
|
let treeData = [];
|
|
@@ -2668,7 +2763,7 @@ export default defineComponent({
|
|
|
2668
2763
|
internalData.tableFullData = fullData;
|
|
2669
2764
|
internalData.tableFullTreeData = treeData;
|
|
2670
2765
|
// 缓存数据
|
|
2671
|
-
$xeTable.cacheRowMap(
|
|
2766
|
+
$xeTable.cacheRowMap(isReset);
|
|
2672
2767
|
// 原始数据
|
|
2673
2768
|
internalData.tableSynchData = datas;
|
|
2674
2769
|
if (isReset) {
|
|
@@ -2686,6 +2781,7 @@ export default defineComponent({
|
|
|
2686
2781
|
$xeTable.clearMergeFooterItems();
|
|
2687
2782
|
$xeTable.handleTableData(true);
|
|
2688
2783
|
$xeTable.updateFooter();
|
|
2784
|
+
$xeTable.handleUpdateBodyMerge();
|
|
2689
2785
|
return nextTick().then(() => {
|
|
2690
2786
|
updateHeight();
|
|
2691
2787
|
updateStyle();
|
|
@@ -2697,6 +2793,9 @@ export default defineComponent({
|
|
|
2697
2793
|
scrollYStore.endIndex = scrollYStore.visibleSize;
|
|
2698
2794
|
}
|
|
2699
2795
|
if (sYLoad) {
|
|
2796
|
+
if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
|
|
2797
|
+
errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"']);
|
|
2798
|
+
}
|
|
2700
2799
|
// if (showOverflow) {
|
|
2701
2800
|
// if (!rowOpts.height) {
|
|
2702
2801
|
// const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
|
|
@@ -2795,8 +2894,8 @@ export default defineComponent({
|
|
|
2795
2894
|
cacheColumnMap();
|
|
2796
2895
|
};
|
|
2797
2896
|
const loadScrollXData = () => {
|
|
2798
|
-
const {
|
|
2799
|
-
const { scrollXStore } = internalData;
|
|
2897
|
+
const { isScrollXBig } = reactData;
|
|
2898
|
+
const { mergeBodyList, mergeFooterList, scrollXStore } = internalData;
|
|
2800
2899
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollXStore;
|
|
2801
2900
|
const { toVisibleIndex, visibleSize } = handleVirtualXVisible();
|
|
2802
2901
|
const offsetItem = {
|
|
@@ -2805,7 +2904,7 @@ export default defineComponent({
|
|
|
2805
2904
|
};
|
|
2806
2905
|
scrollXStore.visibleStartIndex = toVisibleIndex - 1;
|
|
2807
2906
|
scrollXStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
|
|
2808
|
-
calculateMergerOffsetIndex(
|
|
2907
|
+
calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList), offsetItem, 'col');
|
|
2809
2908
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem;
|
|
2810
2909
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
2811
2910
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -3115,8 +3214,8 @@ export default defineComponent({
|
|
|
3115
3214
|
* 纵向 Y 可视渲染处理
|
|
3116
3215
|
*/
|
|
3117
3216
|
const loadScrollYData = () => {
|
|
3118
|
-
const {
|
|
3119
|
-
const { scrollYStore } = internalData;
|
|
3217
|
+
const { isAllOverflow, isScrollYBig } = reactData;
|
|
3218
|
+
const { mergeBodyList, scrollYStore } = internalData;
|
|
3120
3219
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollYStore;
|
|
3121
3220
|
const autoOffsetYSize = isAllOverflow ? offsetSize : offsetSize + 1;
|
|
3122
3221
|
const { toVisibleIndex, visibleSize } = handleVirtualYVisible();
|
|
@@ -3126,7 +3225,7 @@ export default defineComponent({
|
|
|
3126
3225
|
};
|
|
3127
3226
|
scrollYStore.visibleStartIndex = toVisibleIndex - 1;
|
|
3128
3227
|
scrollYStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
|
|
3129
|
-
calculateMergerOffsetIndex(
|
|
3228
|
+
calculateMergerOffsetIndex(mergeBodyList, offsetItem, 'row');
|
|
3130
3229
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem;
|
|
3131
3230
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
3132
3231
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -3421,7 +3520,7 @@ export default defineComponent({
|
|
|
3421
3520
|
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
|
|
3422
3521
|
*/
|
|
3423
3522
|
syncData() {
|
|
3424
|
-
|
|
3523
|
+
errLog('vxe.error.delFunc', ['syncData', 'getData']);
|
|
3425
3524
|
return nextTick().then(() => {
|
|
3426
3525
|
reactData.tableData = [];
|
|
3427
3526
|
emit('update:data', internalData.tableFullData);
|
|
@@ -4095,6 +4194,7 @@ export default defineComponent({
|
|
|
4095
4194
|
*/
|
|
4096
4195
|
getCheckboxRecords(isFull) {
|
|
4097
4196
|
const { treeConfig } = props;
|
|
4197
|
+
const { updateCheckboxFlag } = reactData;
|
|
4098
4198
|
const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps, selectCheckboxMaps } = internalData;
|
|
4099
4199
|
const treeOpts = computeTreeOpts.value;
|
|
4100
4200
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
@@ -4102,29 +4202,31 @@ export default defineComponent({
|
|
|
4102
4202
|
const { checkField } = checkboxOpts;
|
|
4103
4203
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
4104
4204
|
let rowList = [];
|
|
4105
|
-
if (
|
|
4106
|
-
if (
|
|
4107
|
-
|
|
4108
|
-
|
|
4205
|
+
if (updateCheckboxFlag) {
|
|
4206
|
+
if (checkField) {
|
|
4207
|
+
if (treeConfig) {
|
|
4208
|
+
const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData);
|
|
4209
|
+
rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField });
|
|
4210
|
+
}
|
|
4211
|
+
else {
|
|
4212
|
+
const currTableData = isFull ? tableFullData : afterFullData;
|
|
4213
|
+
rowList = currTableData.filter((row) => XEUtils.get(row, checkField));
|
|
4214
|
+
}
|
|
4109
4215
|
}
|
|
4110
4216
|
else {
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
4117
|
-
if (isFull) {
|
|
4118
|
-
if (fullDataRowIdData[rowid]) {
|
|
4119
|
-
rowList.push(fullDataRowIdData[rowid].row);
|
|
4217
|
+
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
4218
|
+
if (isFull) {
|
|
4219
|
+
if (fullDataRowIdData[rowid]) {
|
|
4220
|
+
rowList.push(fullDataRowIdData[rowid].row);
|
|
4221
|
+
}
|
|
4120
4222
|
}
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4223
|
+
else {
|
|
4224
|
+
if (afterFullRowMaps[rowid]) {
|
|
4225
|
+
rowList.push(afterFullRowMaps[rowid]);
|
|
4226
|
+
}
|
|
4125
4227
|
}
|
|
4126
|
-
}
|
|
4127
|
-
}
|
|
4228
|
+
});
|
|
4229
|
+
}
|
|
4128
4230
|
}
|
|
4129
4231
|
return rowList;
|
|
4130
4232
|
},
|
|
@@ -5693,6 +5795,7 @@ export default defineComponent({
|
|
|
5693
5795
|
footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid }) : [];
|
|
5694
5796
|
}
|
|
5695
5797
|
reactData.footerTableData = footData;
|
|
5798
|
+
$xeTable.handleUpdateFooterMerge();
|
|
5696
5799
|
return nextTick();
|
|
5697
5800
|
},
|
|
5698
5801
|
/**
|
|
@@ -5716,9 +5819,10 @@ export default defineComponent({
|
|
|
5716
5819
|
if (props.spanMethod) {
|
|
5717
5820
|
errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
|
|
5718
5821
|
}
|
|
5719
|
-
|
|
5822
|
+
handleBodyMerge(merges);
|
|
5823
|
+
$xeTable.handleUpdateBodyMerge();
|
|
5720
5824
|
return nextTick().then(() => {
|
|
5721
|
-
|
|
5825
|
+
$xeTable.updateCellAreas();
|
|
5722
5826
|
return updateStyle();
|
|
5723
5827
|
});
|
|
5724
5828
|
},
|
|
@@ -5730,9 +5834,9 @@ export default defineComponent({
|
|
|
5730
5834
|
if (props.spanMethod) {
|
|
5731
5835
|
errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
|
|
5732
5836
|
}
|
|
5733
|
-
const rest = removeMerges(merges,
|
|
5837
|
+
const rest = removeMerges(merges, internalData.mergeBodyList, internalData.afterFullData);
|
|
5734
5838
|
return nextTick().then(() => {
|
|
5735
|
-
|
|
5839
|
+
$xeTable.updateCellAreas();
|
|
5736
5840
|
updateStyle();
|
|
5737
5841
|
return rest;
|
|
5738
5842
|
});
|
|
@@ -5741,13 +5845,15 @@ export default defineComponent({
|
|
|
5741
5845
|
* 获取所有被合并的单元格
|
|
5742
5846
|
*/
|
|
5743
5847
|
getMergeCells() {
|
|
5744
|
-
return
|
|
5848
|
+
return internalData.mergeBodyList.slice(0);
|
|
5745
5849
|
},
|
|
5746
5850
|
/**
|
|
5747
5851
|
* 清除所有单元格合并
|
|
5748
5852
|
*/
|
|
5749
5853
|
clearMergeCells() {
|
|
5750
|
-
|
|
5854
|
+
internalData.mergeBodyList = [];
|
|
5855
|
+
internalData.mergeBodyMaps = {};
|
|
5856
|
+
internalData.mergeBodyCellMaps = {};
|
|
5751
5857
|
return nextTick().then(() => {
|
|
5752
5858
|
return updateStyle();
|
|
5753
5859
|
});
|
|
@@ -5756,7 +5862,8 @@ export default defineComponent({
|
|
|
5756
5862
|
if (props.footerSpanMethod) {
|
|
5757
5863
|
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
|
|
5758
5864
|
}
|
|
5759
|
-
|
|
5865
|
+
handleFooterMerge(merges);
|
|
5866
|
+
$xeTable.handleUpdateFooterMerge();
|
|
5760
5867
|
return nextTick().then(() => {
|
|
5761
5868
|
tableMethods.updateCellAreas();
|
|
5762
5869
|
return updateStyle();
|
|
@@ -5766,7 +5873,7 @@ export default defineComponent({
|
|
|
5766
5873
|
if (props.footerSpanMethod) {
|
|
5767
5874
|
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
|
|
5768
5875
|
}
|
|
5769
|
-
const rest = removeMerges(merges,
|
|
5876
|
+
const rest = removeMerges(merges, internalData.mergeFooterList);
|
|
5770
5877
|
return nextTick().then(() => {
|
|
5771
5878
|
tableMethods.updateCellAreas();
|
|
5772
5879
|
updateStyle();
|
|
@@ -5777,13 +5884,15 @@ export default defineComponent({
|
|
|
5777
5884
|
* 获取所有被合并的表尾
|
|
5778
5885
|
*/
|
|
5779
5886
|
getMergeFooterItems() {
|
|
5780
|
-
return
|
|
5887
|
+
return internalData.mergeFooterList.slice(0);
|
|
5781
5888
|
},
|
|
5782
5889
|
/**
|
|
5783
5890
|
* 清除所有表尾合并
|
|
5784
5891
|
*/
|
|
5785
5892
|
clearMergeFooterItems() {
|
|
5786
|
-
|
|
5893
|
+
internalData.mergeFooterList = [];
|
|
5894
|
+
internalData.mergeFooterMaps = {};
|
|
5895
|
+
internalData.mergeFooterCellMaps = {};
|
|
5787
5896
|
return nextTick().then(() => {
|
|
5788
5897
|
return updateStyle();
|
|
5789
5898
|
});
|
|
@@ -6820,27 +6929,30 @@ export default defineComponent({
|
|
|
6820
6929
|
fullList = handleVirtualTreeToList();
|
|
6821
6930
|
}
|
|
6822
6931
|
const tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
|
|
6932
|
+
const visibleDataRowIdMaps = {};
|
|
6823
6933
|
tableData.forEach((row, $index) => {
|
|
6824
6934
|
const rowid = getRowid($xeTable, row);
|
|
6825
6935
|
const rest = fullDataRowIdData[rowid];
|
|
6826
6936
|
if (rest) {
|
|
6827
6937
|
rest.$index = $index;
|
|
6828
6938
|
}
|
|
6939
|
+
visibleDataRowIdMaps[rowid] = row;
|
|
6829
6940
|
});
|
|
6830
6941
|
reactData.tableData = tableData;
|
|
6942
|
+
internalData.visibleDataRowIdData = visibleDataRowIdMaps;
|
|
6831
6943
|
return nextTick();
|
|
6832
6944
|
},
|
|
6833
6945
|
/**
|
|
6834
6946
|
* 更新数据行的 Map
|
|
6835
6947
|
*/
|
|
6836
|
-
cacheRowMap() {
|
|
6948
|
+
cacheRowMap(isReset) {
|
|
6837
6949
|
const { treeConfig } = props;
|
|
6838
6950
|
const { fullAllDataRowIdData, tableFullData, tableFullTreeData, treeExpandedMaps } = internalData;
|
|
6839
6951
|
const treeOpts = computeTreeOpts.value;
|
|
6840
6952
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
6841
6953
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
6842
6954
|
const { lazy } = treeOpts;
|
|
6843
|
-
const fullAllDataRowIdMaps = Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
6955
|
+
const fullAllDataRowIdMaps = isReset ? {} : Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
6844
6956
|
const fullDataRowIdMaps = {};
|
|
6845
6957
|
const { handleUpdateRowId } = createHandleUpdateRowId($xeTable);
|
|
6846
6958
|
const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
|
|
@@ -7621,6 +7733,19 @@ export default defineComponent({
|
|
|
7621
7733
|
handleSelectRow({ row }, checked, isForce) {
|
|
7622
7734
|
$xeTable.handleBatchSelectRows([row], checked, isForce);
|
|
7623
7735
|
},
|
|
7736
|
+
/**
|
|
7737
|
+
* 处理合并
|
|
7738
|
+
*/
|
|
7739
|
+
handleUpdateBodyMerge() {
|
|
7740
|
+
const { mergeBodyList } = internalData;
|
|
7741
|
+
internalData.mergeBodyCellMaps = buildMergeData(mergeBodyList);
|
|
7742
|
+
reactData.mergeBodyFlag++;
|
|
7743
|
+
},
|
|
7744
|
+
handleUpdateFooterMerge() {
|
|
7745
|
+
const { mergeFooterList } = internalData;
|
|
7746
|
+
internalData.mergeFooterCellMaps = buildMergeData(mergeFooterList);
|
|
7747
|
+
reactData.mergeFootFlag++;
|
|
7748
|
+
},
|
|
7624
7749
|
triggerHeaderTitleEvent(evnt, iconParams, params) {
|
|
7625
7750
|
const tipContent = iconParams.content || iconParams.message;
|
|
7626
7751
|
if (tipContent) {
|
|
@@ -9665,21 +9790,23 @@ export default defineComponent({
|
|
|
9665
9790
|
const { transform, seqMode } = treeOpts;
|
|
9666
9791
|
const cellStyle = {};
|
|
9667
9792
|
const rowid = handleGetRowId(row);
|
|
9668
|
-
const
|
|
9793
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
9669
9794
|
let rowLevel = 0;
|
|
9670
9795
|
let seq = -1;
|
|
9671
|
-
let _rowIndex =
|
|
9672
|
-
|
|
9673
|
-
|
|
9674
|
-
if (
|
|
9675
|
-
rowLevel =
|
|
9796
|
+
let _rowIndex = -1;
|
|
9797
|
+
let rowIndex = -1;
|
|
9798
|
+
let $rowIndex = -1;
|
|
9799
|
+
if (rowRest) {
|
|
9800
|
+
rowLevel = rowRest.level;
|
|
9676
9801
|
if (treeConfig && transform && seqMode === 'increasing') {
|
|
9677
|
-
seq =
|
|
9802
|
+
seq = rowRest._index + 1;
|
|
9678
9803
|
}
|
|
9679
9804
|
else {
|
|
9680
|
-
seq =
|
|
9805
|
+
seq = rowRest.seq;
|
|
9681
9806
|
}
|
|
9682
|
-
|
|
9807
|
+
rowIndex = rowRest.index;
|
|
9808
|
+
$rowIndex = rowRest.$index;
|
|
9809
|
+
_rowIndex = rowRest._index;
|
|
9683
9810
|
}
|
|
9684
9811
|
if (expandHeight) {
|
|
9685
9812
|
cellStyle.height = `${expandHeight}px`;
|
|
@@ -10272,6 +10399,8 @@ export default defineComponent({
|
|
|
10272
10399
|
if (columnOpts.drag || rowOpts.drag || customOpts.allowSort) {
|
|
10273
10400
|
initTpImg();
|
|
10274
10401
|
}
|
|
10402
|
+
;
|
|
10403
|
+
window.aa = $xeTable;
|
|
10275
10404
|
nextTick(() => {
|
|
10276
10405
|
const { data, exportConfig, importConfig, treeConfig, showOverflow, highlightCurrentRow, highlightCurrentColumn } = props;
|
|
10277
10406
|
const { scrollXStore, scrollYStore } = internalData;
|
|
@@ -10289,6 +10418,7 @@ export default defineComponent({
|
|
|
10289
10418
|
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
10290
10419
|
const virtualXOpts = computeVirtualXOpts.value;
|
|
10291
10420
|
const virtualYOpts = computeVirtualYOpts.value;
|
|
10421
|
+
const keyboardOpts = computeKeyboardOpts.value;
|
|
10292
10422
|
if (props.rowId) {
|
|
10293
10423
|
warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField']);
|
|
10294
10424
|
}
|
|
@@ -10328,6 +10458,12 @@ export default defineComponent({
|
|
|
10328
10458
|
if (props.highlightHoverColumn) {
|
|
10329
10459
|
warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover']);
|
|
10330
10460
|
}
|
|
10461
|
+
// if (props.scrollY) {
|
|
10462
|
+
// warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
|
|
10463
|
+
// }
|
|
10464
|
+
// if (props.scrollX) {
|
|
10465
|
+
// warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
|
|
10466
|
+
// }
|
|
10331
10467
|
// 检查导入导出类型,如果自定义导入导出方法,则不校验类型
|
|
10332
10468
|
if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
|
|
10333
10469
|
warnLog('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(importOpts._typeMaps), type)).join(',') || XEUtils.keys(importOpts._typeMaps).join(',')]);
|
|
@@ -10388,10 +10524,10 @@ export default defineComponent({
|
|
|
10388
10524
|
if (checkboxOpts.halfField) {
|
|
10389
10525
|
warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
|
|
10390
10526
|
}
|
|
10391
|
-
if ((rowOpts.isCurrent || highlightCurrentRow) && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
|
|
10527
|
+
if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
|
|
10392
10528
|
warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected']);
|
|
10393
10529
|
}
|
|
10394
|
-
if ((columnOpts.isCurrent || highlightCurrentColumn) && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
|
|
10530
|
+
if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
|
|
10395
10531
|
warnLog('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected']);
|
|
10396
10532
|
}
|
|
10397
10533
|
// 如果不支持虚拟滚动
|