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
|
@@ -94,10 +94,6 @@ export default defineComponent({
|
|
|
94
94
|
// 树节点列信息
|
|
95
95
|
treeNodeColumn: null,
|
|
96
96
|
hasFixedColumn: false,
|
|
97
|
-
// 合并单元格的对象集
|
|
98
|
-
mergeList: [],
|
|
99
|
-
// 合并表尾数据的对象集
|
|
100
|
-
mergeFooterList: [],
|
|
101
97
|
// 刷新列标识,当列筛选被改变时,触发表格刷新数据
|
|
102
98
|
upDataFlag: 0,
|
|
103
99
|
// 刷新列标识,当列的特定属性被改变时,触发表格刷新列
|
|
@@ -241,6 +237,7 @@ export default defineComponent({
|
|
|
241
237
|
original: false,
|
|
242
238
|
message: true,
|
|
243
239
|
isHeader: false,
|
|
240
|
+
isTitle: false,
|
|
244
241
|
isFooter: false
|
|
245
242
|
},
|
|
246
243
|
|
|
@@ -250,6 +247,8 @@ export default defineComponent({
|
|
|
250
247
|
pendingRowFlag: 1,
|
|
251
248
|
insertRowFlag: 1,
|
|
252
249
|
removeRowFlag: 1,
|
|
250
|
+
mergeBodyFlag: 1,
|
|
251
|
+
mergeFootFlag: 1,
|
|
253
252
|
|
|
254
253
|
rowHeightStore: {
|
|
255
254
|
default: 48,
|
|
@@ -349,14 +348,27 @@ export default defineComponent({
|
|
|
349
348
|
tableFullColumn: [],
|
|
350
349
|
// 渲染所有列
|
|
351
350
|
visibleColumn: [],
|
|
352
|
-
//
|
|
351
|
+
// 全量数据集(包括当前和已删除)
|
|
353
352
|
fullAllDataRowIdData: {},
|
|
353
|
+
// 数据集(仅当前)
|
|
354
|
+
fullDataRowIdData: {},
|
|
355
|
+
// 数据集(仅可视)
|
|
356
|
+
visibleDataRowIdData: {},
|
|
354
357
|
// 渲染中缓存数据
|
|
355
358
|
sourceDataRowIdData: {},
|
|
356
|
-
fullDataRowIdData: {},
|
|
357
359
|
fullColumnIdData: {},
|
|
358
360
|
fullColumnFieldData: {},
|
|
359
361
|
|
|
362
|
+
// 合并单元格的数据
|
|
363
|
+
mergeBodyList: [],
|
|
364
|
+
mergeBodyMaps: {},
|
|
365
|
+
// 合并表尾的数据
|
|
366
|
+
mergeFooterList: [],
|
|
367
|
+
mergeFooterMaps: {},
|
|
368
|
+
// 已合并单元格数据集合
|
|
369
|
+
mergeBodyCellMaps: {},
|
|
370
|
+
// 已合并表尾数据集合
|
|
371
|
+
mergeFooterCellMaps: {},
|
|
360
372
|
// 已展开的行集合
|
|
361
373
|
rowExpandedMaps: {},
|
|
362
374
|
// 懒加载中的展开行的集合
|
|
@@ -728,17 +740,18 @@ export default defineComponent({
|
|
|
728
740
|
})
|
|
729
741
|
|
|
730
742
|
const computeTableRowExpandedList = computed(() => {
|
|
731
|
-
const {
|
|
732
|
-
const {
|
|
733
|
-
const {
|
|
743
|
+
const { treeConfig } = props
|
|
744
|
+
const { rowExpandedFlag, expandColumn } = reactData
|
|
745
|
+
const { visibleDataRowIdData, rowExpandedMaps } = internalData
|
|
746
|
+
const treeOpts = computeTreeOpts.value
|
|
747
|
+
const { transform } = treeOpts
|
|
734
748
|
const expandList: any[] = []
|
|
735
749
|
if (expandColumn && rowExpandedFlag) {
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
})
|
|
750
|
+
if (treeConfig && !transform) {
|
|
751
|
+
return XEUtils.values(rowExpandedMaps)
|
|
752
|
+
}
|
|
740
753
|
XEUtils.each(rowExpandedMaps, (row, rowid) => {
|
|
741
|
-
if (
|
|
754
|
+
if (visibleDataRowIdData[rowid]) {
|
|
742
755
|
expandList.push(row)
|
|
743
756
|
}
|
|
744
757
|
})
|
|
@@ -1128,48 +1141,130 @@ export default defineComponent({
|
|
|
1128
1141
|
}
|
|
1129
1142
|
}
|
|
1130
1143
|
|
|
1131
|
-
|
|
1144
|
+
function buildMergeData (mergeConfigs: VxeTableDefines.MergeItem[]) {
|
|
1145
|
+
const mergeMaps: Record<string, VxeTableDefines.MergeCacheItem> = {}
|
|
1146
|
+
if (mergeConfigs && mergeConfigs.length) {
|
|
1147
|
+
for (let mIndex = 0; mIndex < mergeConfigs.length; mIndex++) {
|
|
1148
|
+
const { row: _rowIndex, col: _columnIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeConfigs[mIndex]
|
|
1149
|
+
for (let i = 0; i < mergeRowspan; i++) {
|
|
1150
|
+
for (let j = 0; j < mergeColspan; j++) {
|
|
1151
|
+
mergeMaps[`${_rowIndex + i}:${_columnIndex + j}`] = !i && !j
|
|
1152
|
+
? {
|
|
1153
|
+
rowspan: mergeRowspan,
|
|
1154
|
+
colspan: mergeColspan
|
|
1155
|
+
}
|
|
1156
|
+
: {
|
|
1157
|
+
rowspan: 0,
|
|
1158
|
+
colspan: 0
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1164
|
+
return mergeMaps
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
const handleBodyMerge = (merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]) => {
|
|
1168
|
+
const { fullAllDataRowIdData, fullColumnIdData, visibleColumn, afterFullData, mergeBodyList, mergeBodyMaps } = internalData
|
|
1132
1169
|
if (merges) {
|
|
1133
|
-
|
|
1134
|
-
const { visibleColumn } = internalData
|
|
1170
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable)
|
|
1135
1171
|
if (!XEUtils.isArray(merges)) {
|
|
1136
1172
|
merges = [merges]
|
|
1137
1173
|
}
|
|
1138
|
-
// if (treeConfig && merges.length) {
|
|
1139
|
-
// errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
|
|
1140
|
-
// }
|
|
1141
1174
|
merges.forEach((item) => {
|
|
1142
|
-
let { row, col, rowspan, colspan } = item
|
|
1143
|
-
|
|
1144
|
-
|
|
1175
|
+
let { row: margeRow, col: margeCol, rowspan, colspan } = item
|
|
1176
|
+
let mergeRowIndex = -1
|
|
1177
|
+
let mergeColumnIndex = -1
|
|
1178
|
+
if (XEUtils.isNumber(margeRow)) {
|
|
1179
|
+
mergeRowIndex = margeRow
|
|
1180
|
+
} else {
|
|
1181
|
+
const rowid = margeRow ? handleGetRowId(margeRow) : null
|
|
1182
|
+
const rowRest = rowid ? fullAllDataRowIdData[rowid] : null
|
|
1183
|
+
if (rowRest) {
|
|
1184
|
+
mergeRowIndex = rowRest._index
|
|
1185
|
+
}
|
|
1145
1186
|
}
|
|
1146
|
-
if (XEUtils.isNumber(
|
|
1147
|
-
|
|
1187
|
+
if (XEUtils.isNumber(margeCol)) {
|
|
1188
|
+
mergeColumnIndex = margeCol
|
|
1189
|
+
} else {
|
|
1190
|
+
const colid = margeCol ? margeCol.id : null
|
|
1191
|
+
const colRest = colid ? fullColumnIdData[colid] : null
|
|
1192
|
+
if (colRest) {
|
|
1193
|
+
mergeColumnIndex = colRest._index
|
|
1194
|
+
}
|
|
1148
1195
|
}
|
|
1149
|
-
if (
|
|
1196
|
+
if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
|
|
1150
1197
|
rowspan = XEUtils.toNumber(rowspan) || 1
|
|
1151
1198
|
colspan = XEUtils.toNumber(colspan) || 1
|
|
1152
1199
|
if (rowspan > 1 || colspan > 1) {
|
|
1153
|
-
const
|
|
1154
|
-
const
|
|
1200
|
+
const row = afterFullData[mergeRowIndex]
|
|
1201
|
+
const column = visibleColumn[mergeColumnIndex]
|
|
1202
|
+
let mergeItem = mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`]
|
|
1155
1203
|
if (mergeItem) {
|
|
1156
1204
|
mergeItem.rowspan = rowspan
|
|
1157
1205
|
mergeItem.colspan = colspan
|
|
1158
1206
|
mergeItem._rowspan = rowspan
|
|
1159
1207
|
mergeItem._colspan = colspan
|
|
1160
1208
|
} else {
|
|
1161
|
-
|
|
1162
|
-
const mergeColIndex = tableMethods.getVTColumnIndex(col)
|
|
1163
|
-
mList.push({
|
|
1209
|
+
mergeItem = {
|
|
1164
1210
|
row: mergeRowIndex,
|
|
1165
|
-
col:
|
|
1211
|
+
col: mergeColumnIndex,
|
|
1166
1212
|
rowspan,
|
|
1167
1213
|
colspan,
|
|
1168
1214
|
_row: row,
|
|
1169
|
-
_col:
|
|
1215
|
+
_col: column,
|
|
1170
1216
|
_rowspan: rowspan,
|
|
1171
1217
|
_colspan: colspan
|
|
1172
|
-
}
|
|
1218
|
+
}
|
|
1219
|
+
mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem
|
|
1220
|
+
mergeBodyList.push(mergeItem)
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
})
|
|
1225
|
+
}
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
const handleFooterMerge = (merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]) => {
|
|
1229
|
+
const { footerTableData } = reactData
|
|
1230
|
+
const { mergeFooterList, mergeFooterMaps } = internalData
|
|
1231
|
+
if (merges) {
|
|
1232
|
+
const { visibleColumn } = internalData
|
|
1233
|
+
if (!XEUtils.isArray(merges)) {
|
|
1234
|
+
merges = [merges]
|
|
1235
|
+
}
|
|
1236
|
+
merges.forEach((item) => {
|
|
1237
|
+
let { row: margeRow, col: margeCol, rowspan, colspan } = item
|
|
1238
|
+
const mergeRowIndex = XEUtils.isNumber(margeRow) ? margeRow : -1
|
|
1239
|
+
let mergeColumnIndex = -1
|
|
1240
|
+
if (XEUtils.isNumber(margeCol)) {
|
|
1241
|
+
mergeColumnIndex = margeCol
|
|
1242
|
+
}
|
|
1243
|
+
if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
|
|
1244
|
+
rowspan = XEUtils.toNumber(rowspan) || 1
|
|
1245
|
+
colspan = XEUtils.toNumber(colspan) || 1
|
|
1246
|
+
if (rowspan > 1 || colspan > 1) {
|
|
1247
|
+
const row = footerTableData[mergeRowIndex]
|
|
1248
|
+
const column = visibleColumn[mergeColumnIndex]
|
|
1249
|
+
let mergeItem = mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`]
|
|
1250
|
+
if (mergeItem) {
|
|
1251
|
+
mergeItem.rowspan = rowspan
|
|
1252
|
+
mergeItem.colspan = colspan
|
|
1253
|
+
mergeItem._rowspan = rowspan
|
|
1254
|
+
mergeItem._colspan = colspan
|
|
1255
|
+
} else {
|
|
1256
|
+
mergeItem = {
|
|
1257
|
+
row: mergeRowIndex,
|
|
1258
|
+
col: mergeColumnIndex,
|
|
1259
|
+
rowspan,
|
|
1260
|
+
colspan,
|
|
1261
|
+
_row: row,
|
|
1262
|
+
_col: column,
|
|
1263
|
+
_rowspan: rowspan,
|
|
1264
|
+
_colspan: colspan
|
|
1265
|
+
}
|
|
1266
|
+
mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem
|
|
1267
|
+
mergeFooterList.push(mergeItem)
|
|
1173
1268
|
}
|
|
1174
1269
|
}
|
|
1175
1270
|
}
|
|
@@ -1317,6 +1412,7 @@ export default defineComponent({
|
|
|
1317
1412
|
const expandOpts = computeExpandOpts.value
|
|
1318
1413
|
const columnOpts = computeColumnOpts.value
|
|
1319
1414
|
const columnDragOpts = computeColumnDragOpts.value
|
|
1415
|
+
const virtualYOpts = computeVirtualYOpts.value
|
|
1320
1416
|
const { isCrossDrag, isSelfToChildDrag } = columnDragOpts
|
|
1321
1417
|
const customOpts = computeCustomOpts.value
|
|
1322
1418
|
const { storage } = customOpts
|
|
@@ -1349,39 +1445,33 @@ export default defineComponent({
|
|
|
1349
1445
|
htmlColumn = column
|
|
1350
1446
|
}
|
|
1351
1447
|
if (treeNode) {
|
|
1352
|
-
if (
|
|
1353
|
-
|
|
1354
|
-
warnLog('vxe.error.colRepet', ['tree-node', treeNode])
|
|
1355
|
-
}
|
|
1448
|
+
if (treeNodeColumn) {
|
|
1449
|
+
warnLog('vxe.error.colRepet', ['tree-node', treeNode])
|
|
1356
1450
|
}
|
|
1357
1451
|
if (!treeNodeColumn) {
|
|
1358
1452
|
treeNodeColumn = column
|
|
1359
1453
|
}
|
|
1360
1454
|
} else if (type === 'expand') {
|
|
1361
|
-
if (
|
|
1362
|
-
|
|
1363
|
-
warnLog('vxe.error.colRepet', ['type', type])
|
|
1364
|
-
}
|
|
1455
|
+
if (expandColumn) {
|
|
1456
|
+
warnLog('vxe.error.colRepet', ['type', type])
|
|
1365
1457
|
}
|
|
1366
1458
|
if (!expandColumn) {
|
|
1367
1459
|
expandColumn = column
|
|
1368
1460
|
}
|
|
1369
1461
|
}
|
|
1370
|
-
if (
|
|
1371
|
-
if (
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
radioColumn = column
|
|
1384
|
-
}
|
|
1462
|
+
if (type === 'checkbox') {
|
|
1463
|
+
if (checkboxColumn) {
|
|
1464
|
+
warnLog('vxe.error.colRepet', ['type', type])
|
|
1465
|
+
}
|
|
1466
|
+
if (!checkboxColumn) {
|
|
1467
|
+
checkboxColumn = column
|
|
1468
|
+
}
|
|
1469
|
+
} else if (type === 'radio') {
|
|
1470
|
+
if (radioColumn) {
|
|
1471
|
+
warnLog('vxe.error.colRepet', ['type', type])
|
|
1472
|
+
}
|
|
1473
|
+
if (!radioColumn) {
|
|
1474
|
+
radioColumn = column
|
|
1385
1475
|
}
|
|
1386
1476
|
}
|
|
1387
1477
|
if (isAllOverflow && column.showOverflow === false) {
|
|
@@ -1401,6 +1491,9 @@ export default defineComponent({
|
|
|
1401
1491
|
tableFullColumn.forEach(handleFunc)
|
|
1402
1492
|
}
|
|
1403
1493
|
|
|
1494
|
+
if (expandColumn && expandOpts.mode !== 'fixed' && virtualYOpts.enabled) {
|
|
1495
|
+
warnLog('vxe.error.notConflictProp', ['column.type="expand', 'virtual-y-config.enabled=false'])
|
|
1496
|
+
}
|
|
1404
1497
|
if ((expandColumn && expandOpts.mode !== 'fixed') && mouseOpts.area) {
|
|
1405
1498
|
errLog('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand'])
|
|
1406
1499
|
}
|
|
@@ -2747,6 +2840,7 @@ export default defineComponent({
|
|
|
2747
2840
|
const { scrollYLoad: oldScrollYLoad } = reactData
|
|
2748
2841
|
const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData
|
|
2749
2842
|
const treeOpts = computeTreeOpts.value
|
|
2843
|
+
const expandOpts = computeExpandOpts.value
|
|
2750
2844
|
const { transform } = treeOpts
|
|
2751
2845
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
2752
2846
|
let treeData = []
|
|
@@ -2803,7 +2897,7 @@ export default defineComponent({
|
|
|
2803
2897
|
internalData.tableFullData = fullData
|
|
2804
2898
|
internalData.tableFullTreeData = treeData
|
|
2805
2899
|
// 缓存数据
|
|
2806
|
-
$xeTable.cacheRowMap(
|
|
2900
|
+
$xeTable.cacheRowMap(isReset)
|
|
2807
2901
|
// 原始数据
|
|
2808
2902
|
internalData.tableSynchData = datas
|
|
2809
2903
|
if (isReset) {
|
|
@@ -2821,6 +2915,7 @@ export default defineComponent({
|
|
|
2821
2915
|
$xeTable.clearMergeFooterItems()
|
|
2822
2916
|
$xeTable.handleTableData(true)
|
|
2823
2917
|
$xeTable.updateFooter()
|
|
2918
|
+
$xeTable.handleUpdateBodyMerge()
|
|
2824
2919
|
return nextTick().then(() => {
|
|
2825
2920
|
updateHeight()
|
|
2826
2921
|
updateStyle()
|
|
@@ -2833,6 +2928,9 @@ export default defineComponent({
|
|
|
2833
2928
|
}
|
|
2834
2929
|
|
|
2835
2930
|
if (sYLoad) {
|
|
2931
|
+
if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
|
|
2932
|
+
errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"'])
|
|
2933
|
+
}
|
|
2836
2934
|
// if (showOverflow) {
|
|
2837
2935
|
// if (!rowOpts.height) {
|
|
2838
2936
|
// const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
|
|
@@ -2937,8 +3035,8 @@ export default defineComponent({
|
|
|
2937
3035
|
}
|
|
2938
3036
|
|
|
2939
3037
|
const loadScrollXData = () => {
|
|
2940
|
-
const {
|
|
2941
|
-
const { scrollXStore } = internalData
|
|
3038
|
+
const { isScrollXBig } = reactData
|
|
3039
|
+
const { mergeBodyList, mergeFooterList, scrollXStore } = internalData
|
|
2942
3040
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollXStore
|
|
2943
3041
|
const { toVisibleIndex, visibleSize } = handleVirtualXVisible()
|
|
2944
3042
|
const offsetItem = {
|
|
@@ -2947,7 +3045,7 @@ export default defineComponent({
|
|
|
2947
3045
|
}
|
|
2948
3046
|
scrollXStore.visibleStartIndex = toVisibleIndex - 1
|
|
2949
3047
|
scrollXStore.visibleEndIndex = toVisibleIndex + visibleSize + 1
|
|
2950
|
-
calculateMergerOffsetIndex(
|
|
3048
|
+
calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList), offsetItem, 'col')
|
|
2951
3049
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem
|
|
2952
3050
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
2953
3051
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -3260,8 +3358,8 @@ export default defineComponent({
|
|
|
3260
3358
|
* 纵向 Y 可视渲染处理
|
|
3261
3359
|
*/
|
|
3262
3360
|
const loadScrollYData = () => {
|
|
3263
|
-
const {
|
|
3264
|
-
const { scrollYStore } = internalData
|
|
3361
|
+
const { isAllOverflow, isScrollYBig } = reactData
|
|
3362
|
+
const { mergeBodyList, scrollYStore } = internalData
|
|
3265
3363
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollYStore
|
|
3266
3364
|
const autoOffsetYSize = isAllOverflow ? offsetSize : offsetSize + 1
|
|
3267
3365
|
const { toVisibleIndex, visibleSize } = handleVirtualYVisible()
|
|
@@ -3271,7 +3369,7 @@ export default defineComponent({
|
|
|
3271
3369
|
}
|
|
3272
3370
|
scrollYStore.visibleStartIndex = toVisibleIndex - 1
|
|
3273
3371
|
scrollYStore.visibleEndIndex = toVisibleIndex + visibleSize + 1
|
|
3274
|
-
calculateMergerOffsetIndex(
|
|
3372
|
+
calculateMergerOffsetIndex(mergeBodyList, offsetItem, 'row')
|
|
3275
3373
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem
|
|
3276
3374
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
3277
3375
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -3579,7 +3677,7 @@ export default defineComponent({
|
|
|
3579
3677
|
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
|
|
3580
3678
|
*/
|
|
3581
3679
|
syncData () {
|
|
3582
|
-
|
|
3680
|
+
errLog('vxe.error.delFunc', ['syncData', 'getData'])
|
|
3583
3681
|
return nextTick().then(() => {
|
|
3584
3682
|
reactData.tableData = []
|
|
3585
3683
|
emit('update:data', internalData.tableFullData)
|
|
@@ -4242,6 +4340,7 @@ export default defineComponent({
|
|
|
4242
4340
|
*/
|
|
4243
4341
|
getCheckboxRecords (isFull) {
|
|
4244
4342
|
const { treeConfig } = props
|
|
4343
|
+
const { updateCheckboxFlag } = reactData
|
|
4245
4344
|
const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps, selectCheckboxMaps } = internalData
|
|
4246
4345
|
const treeOpts = computeTreeOpts.value
|
|
4247
4346
|
const checkboxOpts = computeCheckboxOpts.value
|
|
@@ -4249,26 +4348,28 @@ export default defineComponent({
|
|
|
4249
4348
|
const { checkField } = checkboxOpts
|
|
4250
4349
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
4251
4350
|
let rowList: any[] = []
|
|
4252
|
-
if (
|
|
4253
|
-
if (
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
const currTableData = isFull ? tableFullData : afterFullData
|
|
4258
|
-
rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
|
|
4259
|
-
}
|
|
4260
|
-
} else {
|
|
4261
|
-
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
4262
|
-
if (isFull) {
|
|
4263
|
-
if (fullDataRowIdData[rowid]) {
|
|
4264
|
-
rowList.push(fullDataRowIdData[rowid].row)
|
|
4265
|
-
}
|
|
4351
|
+
if (updateCheckboxFlag) {
|
|
4352
|
+
if (checkField) {
|
|
4353
|
+
if (treeConfig) {
|
|
4354
|
+
const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
|
|
4355
|
+
rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField })
|
|
4266
4356
|
} else {
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
}
|
|
4357
|
+
const currTableData = isFull ? tableFullData : afterFullData
|
|
4358
|
+
rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
|
|
4270
4359
|
}
|
|
4271
|
-
}
|
|
4360
|
+
} else {
|
|
4361
|
+
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
4362
|
+
if (isFull) {
|
|
4363
|
+
if (fullDataRowIdData[rowid]) {
|
|
4364
|
+
rowList.push(fullDataRowIdData[rowid].row)
|
|
4365
|
+
}
|
|
4366
|
+
} else {
|
|
4367
|
+
if (afterFullRowMaps[rowid]) {
|
|
4368
|
+
rowList.push(afterFullRowMaps[rowid])
|
|
4369
|
+
}
|
|
4370
|
+
}
|
|
4371
|
+
})
|
|
4372
|
+
}
|
|
4272
4373
|
}
|
|
4273
4374
|
return rowList
|
|
4274
4375
|
},
|
|
@@ -5831,6 +5932,7 @@ export default defineComponent({
|
|
|
5831
5932
|
footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid }) : []
|
|
5832
5933
|
}
|
|
5833
5934
|
reactData.footerTableData = footData
|
|
5935
|
+
$xeTable.handleUpdateFooterMerge()
|
|
5834
5936
|
return nextTick()
|
|
5835
5937
|
},
|
|
5836
5938
|
/**
|
|
@@ -5854,9 +5956,10 @@ export default defineComponent({
|
|
|
5854
5956
|
if (props.spanMethod) {
|
|
5855
5957
|
errLog('vxe.error.errConflicts', ['merge-cells', 'span-method'])
|
|
5856
5958
|
}
|
|
5857
|
-
|
|
5959
|
+
handleBodyMerge(merges)
|
|
5960
|
+
$xeTable.handleUpdateBodyMerge()
|
|
5858
5961
|
return nextTick().then(() => {
|
|
5859
|
-
|
|
5962
|
+
$xeTable.updateCellAreas()
|
|
5860
5963
|
return updateStyle()
|
|
5861
5964
|
})
|
|
5862
5965
|
},
|
|
@@ -5868,9 +5971,9 @@ export default defineComponent({
|
|
|
5868
5971
|
if (props.spanMethod) {
|
|
5869
5972
|
errLog('vxe.error.errConflicts', ['merge-cells', 'span-method'])
|
|
5870
5973
|
}
|
|
5871
|
-
const rest = removeMerges(merges,
|
|
5974
|
+
const rest = removeMerges(merges, internalData.mergeBodyList, internalData.afterFullData)
|
|
5872
5975
|
return nextTick().then(() => {
|
|
5873
|
-
|
|
5976
|
+
$xeTable.updateCellAreas()
|
|
5874
5977
|
updateStyle()
|
|
5875
5978
|
return rest
|
|
5876
5979
|
})
|
|
@@ -5879,13 +5982,15 @@ export default defineComponent({
|
|
|
5879
5982
|
* 获取所有被合并的单元格
|
|
5880
5983
|
*/
|
|
5881
5984
|
getMergeCells () {
|
|
5882
|
-
return
|
|
5985
|
+
return internalData.mergeBodyList.slice(0)
|
|
5883
5986
|
},
|
|
5884
5987
|
/**
|
|
5885
5988
|
* 清除所有单元格合并
|
|
5886
5989
|
*/
|
|
5887
5990
|
clearMergeCells () {
|
|
5888
|
-
|
|
5991
|
+
internalData.mergeBodyList = []
|
|
5992
|
+
internalData.mergeBodyMaps = {}
|
|
5993
|
+
internalData.mergeBodyCellMaps = {}
|
|
5889
5994
|
return nextTick().then(() => {
|
|
5890
5995
|
return updateStyle()
|
|
5891
5996
|
})
|
|
@@ -5894,7 +5999,8 @@ export default defineComponent({
|
|
|
5894
5999
|
if (props.footerSpanMethod) {
|
|
5895
6000
|
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method'])
|
|
5896
6001
|
}
|
|
5897
|
-
|
|
6002
|
+
handleFooterMerge(merges)
|
|
6003
|
+
$xeTable.handleUpdateFooterMerge()
|
|
5898
6004
|
return nextTick().then(() => {
|
|
5899
6005
|
tableMethods.updateCellAreas()
|
|
5900
6006
|
return updateStyle()
|
|
@@ -5904,7 +6010,7 @@ export default defineComponent({
|
|
|
5904
6010
|
if (props.footerSpanMethod) {
|
|
5905
6011
|
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method'])
|
|
5906
6012
|
}
|
|
5907
|
-
const rest = removeMerges(merges,
|
|
6013
|
+
const rest = removeMerges(merges, internalData.mergeFooterList)
|
|
5908
6014
|
return nextTick().then(() => {
|
|
5909
6015
|
tableMethods.updateCellAreas()
|
|
5910
6016
|
updateStyle()
|
|
@@ -5915,13 +6021,15 @@ export default defineComponent({
|
|
|
5915
6021
|
* 获取所有被合并的表尾
|
|
5916
6022
|
*/
|
|
5917
6023
|
getMergeFooterItems () {
|
|
5918
|
-
return
|
|
6024
|
+
return internalData.mergeFooterList.slice(0)
|
|
5919
6025
|
},
|
|
5920
6026
|
/**
|
|
5921
6027
|
* 清除所有表尾合并
|
|
5922
6028
|
*/
|
|
5923
6029
|
clearMergeFooterItems () {
|
|
5924
|
-
|
|
6030
|
+
internalData.mergeFooterList = []
|
|
6031
|
+
internalData.mergeFooterMaps = {}
|
|
6032
|
+
internalData.mergeFooterCellMaps = {}
|
|
5925
6033
|
return nextTick().then(() => {
|
|
5926
6034
|
return updateStyle()
|
|
5927
6035
|
})
|
|
@@ -6940,27 +7048,30 @@ export default defineComponent({
|
|
|
6940
7048
|
fullList = handleVirtualTreeToList()
|
|
6941
7049
|
}
|
|
6942
7050
|
const tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0)
|
|
7051
|
+
const visibleDataRowIdMaps: Record<string, any> = {}
|
|
6943
7052
|
tableData.forEach((row, $index) => {
|
|
6944
7053
|
const rowid = getRowid($xeTable, row)
|
|
6945
7054
|
const rest = fullDataRowIdData[rowid]
|
|
6946
7055
|
if (rest) {
|
|
6947
7056
|
rest.$index = $index
|
|
6948
7057
|
}
|
|
7058
|
+
visibleDataRowIdMaps[rowid] = row
|
|
6949
7059
|
})
|
|
6950
7060
|
reactData.tableData = tableData
|
|
7061
|
+
internalData.visibleDataRowIdData = visibleDataRowIdMaps
|
|
6951
7062
|
return nextTick()
|
|
6952
7063
|
},
|
|
6953
7064
|
/**
|
|
6954
7065
|
* 更新数据行的 Map
|
|
6955
7066
|
*/
|
|
6956
|
-
cacheRowMap () {
|
|
7067
|
+
cacheRowMap (isReset) {
|
|
6957
7068
|
const { treeConfig } = props
|
|
6958
7069
|
const { fullAllDataRowIdData, tableFullData, tableFullTreeData, treeExpandedMaps } = internalData
|
|
6959
7070
|
const treeOpts = computeTreeOpts.value
|
|
6960
7071
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
6961
7072
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
|
|
6962
7073
|
const { lazy } = treeOpts
|
|
6963
|
-
const fullAllDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = { ...fullAllDataRowIdData } // 存在已删除数据
|
|
7074
|
+
const fullAllDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = isReset ? {} : { ...fullAllDataRowIdData } // 存在已删除数据
|
|
6964
7075
|
const fullDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = {}
|
|
6965
7076
|
|
|
6966
7077
|
const { handleUpdateRowId } = createHandleUpdateRowId($xeTable)
|
|
@@ -7735,6 +7846,19 @@ export default defineComponent({
|
|
|
7735
7846
|
handleSelectRow ({ row }, checked, isForce) {
|
|
7736
7847
|
$xeTable.handleBatchSelectRows([row], checked, isForce)
|
|
7737
7848
|
},
|
|
7849
|
+
/**
|
|
7850
|
+
* 处理合并
|
|
7851
|
+
*/
|
|
7852
|
+
handleUpdateBodyMerge () {
|
|
7853
|
+
const { mergeBodyList } = internalData
|
|
7854
|
+
internalData.mergeBodyCellMaps = buildMergeData(mergeBodyList)
|
|
7855
|
+
reactData.mergeBodyFlag++
|
|
7856
|
+
},
|
|
7857
|
+
handleUpdateFooterMerge () {
|
|
7858
|
+
const { mergeFooterList } = internalData
|
|
7859
|
+
internalData.mergeFooterCellMaps = buildMergeData(mergeFooterList)
|
|
7860
|
+
reactData.mergeFootFlag++
|
|
7861
|
+
},
|
|
7738
7862
|
triggerHeaderTitleEvent (evnt, iconParams, params) {
|
|
7739
7863
|
const tipContent = iconParams.content || (iconParams as any).message
|
|
7740
7864
|
if (tipContent) {
|
|
@@ -9793,7 +9917,6 @@ export default defineComponent({
|
|
|
9793
9917
|
ref: refRowExpandYSpaceElem
|
|
9794
9918
|
})
|
|
9795
9919
|
]
|
|
9796
|
-
|
|
9797
9920
|
if (expandColumn) {
|
|
9798
9921
|
const { handleGetRowId } = createHandleGetRowId($xeTable)
|
|
9799
9922
|
tableRowExpandedList.forEach((row) => {
|
|
@@ -9804,20 +9927,22 @@ export default defineComponent({
|
|
|
9804
9927
|
const { transform, seqMode } = treeOpts
|
|
9805
9928
|
const cellStyle: Record<string, string> = {}
|
|
9806
9929
|
const rowid = handleGetRowId(row)
|
|
9807
|
-
const
|
|
9930
|
+
const rowRest = fullAllDataRowIdData[rowid]
|
|
9808
9931
|
let rowLevel = 0
|
|
9809
9932
|
let seq: string | number = -1
|
|
9810
|
-
let _rowIndex =
|
|
9811
|
-
|
|
9812
|
-
|
|
9813
|
-
if (
|
|
9814
|
-
rowLevel =
|
|
9933
|
+
let _rowIndex = -1
|
|
9934
|
+
let rowIndex = -1
|
|
9935
|
+
let $rowIndex = -1
|
|
9936
|
+
if (rowRest) {
|
|
9937
|
+
rowLevel = rowRest.level
|
|
9815
9938
|
if (treeConfig && transform && seqMode === 'increasing') {
|
|
9816
|
-
seq =
|
|
9939
|
+
seq = rowRest._index + 1
|
|
9817
9940
|
} else {
|
|
9818
|
-
seq =
|
|
9941
|
+
seq = rowRest.seq
|
|
9819
9942
|
}
|
|
9820
|
-
|
|
9943
|
+
rowIndex = rowRest.index
|
|
9944
|
+
$rowIndex = rowRest.$index
|
|
9945
|
+
_rowIndex = rowRest._index
|
|
9821
9946
|
}
|
|
9822
9947
|
if (expandHeight) {
|
|
9823
9948
|
cellStyle.height = `${expandHeight}px`
|
|
@@ -10439,6 +10564,7 @@ export default defineComponent({
|
|
|
10439
10564
|
initTpImg()
|
|
10440
10565
|
}
|
|
10441
10566
|
|
|
10567
|
+
;(window as any).aa = $xeTable
|
|
10442
10568
|
nextTick(() => {
|
|
10443
10569
|
const { data, exportConfig, importConfig, treeConfig, showOverflow, highlightCurrentRow, highlightCurrentColumn } = props
|
|
10444
10570
|
const { scrollXStore, scrollYStore } = internalData
|
|
@@ -10456,6 +10582,7 @@ export default defineComponent({
|
|
|
10456
10582
|
const currentColumnOpts = computeCurrentColumnOpts.value
|
|
10457
10583
|
const virtualXOpts = computeVirtualXOpts.value
|
|
10458
10584
|
const virtualYOpts = computeVirtualYOpts.value
|
|
10585
|
+
const keyboardOpts = computeKeyboardOpts.value
|
|
10459
10586
|
|
|
10460
10587
|
if (props.rowId) {
|
|
10461
10588
|
warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField'])
|
|
@@ -10496,6 +10623,12 @@ export default defineComponent({
|
|
|
10496
10623
|
if (props.highlightHoverColumn) {
|
|
10497
10624
|
warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover'])
|
|
10498
10625
|
}
|
|
10626
|
+
// if (props.scrollY) {
|
|
10627
|
+
// warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
|
|
10628
|
+
// }
|
|
10629
|
+
// if (props.scrollX) {
|
|
10630
|
+
// warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
|
|
10631
|
+
// }
|
|
10499
10632
|
// 检查导入导出类型,如果自定义导入导出方法,则不校验类型
|
|
10500
10633
|
if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
|
|
10501
10634
|
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(',')])
|
|
@@ -10558,10 +10691,10 @@ export default defineComponent({
|
|
|
10558
10691
|
warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField'])
|
|
10559
10692
|
}
|
|
10560
10693
|
|
|
10561
|
-
if ((rowOpts.isCurrent || highlightCurrentRow) && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
|
|
10694
|
+
if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
|
|
10562
10695
|
warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected'])
|
|
10563
10696
|
}
|
|
10564
|
-
if ((columnOpts.isCurrent || highlightCurrentColumn) && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
|
|
10697
|
+
if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
|
|
10565
10698
|
warnLog('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected'])
|
|
10566
10699
|
}
|
|
10567
10700
|
|