vxe-table 3.14.4 → 3.15.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/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/mixin.js +10 -9
- package/es/table/module/export/export-panel.js +32 -17
- package/es/table/module/export/mixin.js +17 -12
- package/es/table/src/body.js +11 -13
- package/es/table/src/footer.js +3 -16
- package/es/table/src/methods.js +246 -109
- package/es/table/src/table.js +50 -25
- 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/index.umd.js +410 -247
- 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-CHT.umd.js +3 -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/mixin.js +9 -9
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/export-panel.js +29 -17
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +18 -12
- package/lib/table/module/export/mixin.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/methods.js +278 -114
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +52 -25
- 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/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/mixin.ts +10 -9
- package/packages/table/module/export/export-panel.ts +33 -17
- package/packages/table/module/export/mixin.ts +17 -12
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/footer.ts +3 -17
- package/packages/table/src/methods.ts +261 -119
- package/packages/table/src/table.ts +50 -25
- package/packages/table/src/util.ts +0 -14
- package/packages/ui/index.ts +1 -1
- /package/es/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/es/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
- /package/es/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
- /package/lib/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/lib/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
- /package/lib/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
|
@@ -249,39 +249,33 @@ function cacheColumnMap ($xeTable: VxeTableConstructor) {
|
|
|
249
249
|
htmlColumn = column
|
|
250
250
|
}
|
|
251
251
|
if (treeNode) {
|
|
252
|
-
if (
|
|
253
|
-
|
|
254
|
-
warnLog('vxe.error.colRepet', ['tree-node', treeNode])
|
|
255
|
-
}
|
|
252
|
+
if (treeNodeColumn) {
|
|
253
|
+
warnLog('vxe.error.colRepet', ['tree-node', treeNode])
|
|
256
254
|
}
|
|
257
255
|
if (!treeNodeColumn) {
|
|
258
256
|
treeNodeColumn = column
|
|
259
257
|
}
|
|
260
258
|
} else if (type === 'expand') {
|
|
261
|
-
if (
|
|
262
|
-
|
|
263
|
-
warnLog('vxe.error.colRepet', ['type', type])
|
|
264
|
-
}
|
|
259
|
+
if (expandColumn) {
|
|
260
|
+
warnLog('vxe.error.colRepet', ['type', type])
|
|
265
261
|
}
|
|
266
262
|
if (!expandColumn) {
|
|
267
263
|
expandColumn = column
|
|
268
264
|
}
|
|
269
265
|
}
|
|
270
|
-
if (
|
|
271
|
-
if (
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
radioColumn = column
|
|
284
|
-
}
|
|
266
|
+
if (type === 'checkbox') {
|
|
267
|
+
if (checkboxColumn) {
|
|
268
|
+
warnLog('vxe.error.colRepet', ['type', type])
|
|
269
|
+
}
|
|
270
|
+
if (!checkboxColumn) {
|
|
271
|
+
checkboxColumn = column
|
|
272
|
+
}
|
|
273
|
+
} else if (type === 'radio') {
|
|
274
|
+
if (radioColumn) {
|
|
275
|
+
warnLog('vxe.error.colRepet', ['type', type])
|
|
276
|
+
}
|
|
277
|
+
if (!radioColumn) {
|
|
278
|
+
radioColumn = column
|
|
285
279
|
}
|
|
286
280
|
}
|
|
287
281
|
if (isAllOverflow && column.showOverflow === false) {
|
|
@@ -1327,51 +1321,135 @@ function calculateMergerOffsetIndex (list: any, offsetItem: any, type: any) {
|
|
|
1327
1321
|
}
|
|
1328
1322
|
}
|
|
1329
1323
|
|
|
1330
|
-
function
|
|
1331
|
-
|
|
1324
|
+
function buildMergeData (mergeConfigs: VxeTableDefines.MergeItem[]) {
|
|
1325
|
+
const mergeMaps: Record<string, VxeTableDefines.MergeCacheItem> = {}
|
|
1326
|
+
if (mergeConfigs && mergeConfigs.length) {
|
|
1327
|
+
for (let mIndex = 0; mIndex < mergeConfigs.length; mIndex++) {
|
|
1328
|
+
const { row: _rowIndex, col: _columnIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeConfigs[mIndex]
|
|
1329
|
+
for (let i = 0; i < mergeRowspan; i++) {
|
|
1330
|
+
for (let j = 0; j < mergeColspan; j++) {
|
|
1331
|
+
mergeMaps[`${_rowIndex + i}:${_columnIndex + j}`] = !i && !j
|
|
1332
|
+
? {
|
|
1333
|
+
rowspan: mergeRowspan,
|
|
1334
|
+
colspan: mergeColspan
|
|
1335
|
+
}
|
|
1336
|
+
: {
|
|
1337
|
+
rowspan: 0,
|
|
1338
|
+
colspan: 0
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
return mergeMaps
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
const handleBodyMerge = ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]) => {
|
|
1332
1348
|
const internalData = $xeTable as unknown as TableInternalData
|
|
1333
1349
|
|
|
1350
|
+
const { fullAllDataRowIdData, fullColumnIdData, visibleColumn, afterFullData, mergeBodyList, mergeBodyMaps } = internalData
|
|
1334
1351
|
if (merges) {
|
|
1335
|
-
|
|
1336
|
-
const { visibleColumn } = internalData
|
|
1352
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable)
|
|
1337
1353
|
if (!XEUtils.isArray(merges)) {
|
|
1338
1354
|
merges = [merges]
|
|
1339
1355
|
}
|
|
1340
|
-
// if (treeConfig && merges.length) {
|
|
1341
|
-
// errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
|
|
1342
|
-
// }
|
|
1343
1356
|
merges.forEach((item) => {
|
|
1344
1357
|
let { row, col, rowspan, colspan } = item
|
|
1345
|
-
|
|
1346
|
-
|
|
1358
|
+
let mergeRowIndex = -1
|
|
1359
|
+
let mergeColumnIndex = -1
|
|
1360
|
+
if (XEUtils.isNumber(row)) {
|
|
1361
|
+
mergeRowIndex = row
|
|
1362
|
+
} else {
|
|
1363
|
+
const rowid = row ? handleGetRowId(row) : null
|
|
1364
|
+
const rowRest = rowid ? fullAllDataRowIdData[rowid] : null
|
|
1365
|
+
if (rowRest) {
|
|
1366
|
+
mergeRowIndex = rowRest._index
|
|
1367
|
+
}
|
|
1347
1368
|
}
|
|
1348
1369
|
if (XEUtils.isNumber(col)) {
|
|
1349
|
-
|
|
1370
|
+
mergeColumnIndex = col
|
|
1371
|
+
} else {
|
|
1372
|
+
const colid = col ? col.id : null
|
|
1373
|
+
const colRest = colid ? fullColumnIdData[colid] : null
|
|
1374
|
+
if (colRest) {
|
|
1375
|
+
mergeColumnIndex = colRest._index
|
|
1376
|
+
}
|
|
1350
1377
|
}
|
|
1351
|
-
if (
|
|
1378
|
+
if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
|
|
1352
1379
|
rowspan = XEUtils.toNumber(rowspan) || 1
|
|
1353
1380
|
colspan = XEUtils.toNumber(colspan) || 1
|
|
1354
1381
|
if (rowspan > 1 || colspan > 1) {
|
|
1355
|
-
const
|
|
1356
|
-
const
|
|
1382
|
+
const row = afterFullData[mergeRowIndex]
|
|
1383
|
+
const column = visibleColumn[mergeColumnIndex]
|
|
1384
|
+
let mergeItem = mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`]
|
|
1357
1385
|
if (mergeItem) {
|
|
1358
1386
|
mergeItem.rowspan = rowspan
|
|
1359
1387
|
mergeItem.colspan = colspan
|
|
1360
1388
|
mergeItem._rowspan = rowspan
|
|
1361
1389
|
mergeItem._colspan = colspan
|
|
1362
1390
|
} else {
|
|
1363
|
-
|
|
1364
|
-
const mergeColIndex = visibleColumn.indexOf(col)
|
|
1365
|
-
mList.push({
|
|
1391
|
+
mergeItem = {
|
|
1366
1392
|
row: mergeRowIndex,
|
|
1367
|
-
col:
|
|
1393
|
+
col: mergeColumnIndex,
|
|
1368
1394
|
rowspan,
|
|
1369
1395
|
colspan,
|
|
1370
1396
|
_row: row,
|
|
1371
|
-
_col:
|
|
1397
|
+
_col: column,
|
|
1372
1398
|
_rowspan: rowspan,
|
|
1373
1399
|
_colspan: colspan
|
|
1374
|
-
}
|
|
1400
|
+
}
|
|
1401
|
+
mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem
|
|
1402
|
+
mergeBodyList.push(mergeItem)
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1406
|
+
})
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
const handleFooterMerge = ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[]) => {
|
|
1411
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
1412
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
1413
|
+
|
|
1414
|
+
const { footerTableData } = reactData
|
|
1415
|
+
const { mergeFooterList, mergeFooterMaps } = internalData
|
|
1416
|
+
if (merges) {
|
|
1417
|
+
const { visibleColumn } = internalData
|
|
1418
|
+
if (!XEUtils.isArray(merges)) {
|
|
1419
|
+
merges = [merges]
|
|
1420
|
+
}
|
|
1421
|
+
merges.forEach((item) => {
|
|
1422
|
+
let { row: margeRow, col: margeCol, rowspan, colspan } = item
|
|
1423
|
+
const mergeRowIndex = XEUtils.isNumber(margeRow) ? margeRow : -1
|
|
1424
|
+
let mergeColumnIndex = -1
|
|
1425
|
+
if (XEUtils.isNumber(margeCol)) {
|
|
1426
|
+
mergeColumnIndex = margeCol
|
|
1427
|
+
}
|
|
1428
|
+
if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
|
|
1429
|
+
rowspan = XEUtils.toNumber(rowspan) || 1
|
|
1430
|
+
colspan = XEUtils.toNumber(colspan) || 1
|
|
1431
|
+
if (rowspan > 1 || colspan > 1) {
|
|
1432
|
+
const row = footerTableData[mergeRowIndex]
|
|
1433
|
+
const column = visibleColumn[mergeColumnIndex]
|
|
1434
|
+
let mergeItem = mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`]
|
|
1435
|
+
if (mergeItem) {
|
|
1436
|
+
mergeItem.rowspan = rowspan
|
|
1437
|
+
mergeItem.colspan = colspan
|
|
1438
|
+
mergeItem._rowspan = rowspan
|
|
1439
|
+
mergeItem._colspan = colspan
|
|
1440
|
+
} else {
|
|
1441
|
+
mergeItem = {
|
|
1442
|
+
row: mergeRowIndex,
|
|
1443
|
+
col: mergeColumnIndex,
|
|
1444
|
+
rowspan,
|
|
1445
|
+
colspan,
|
|
1446
|
+
_row: row,
|
|
1447
|
+
_col: column,
|
|
1448
|
+
_rowspan: rowspan,
|
|
1449
|
+
_colspan: colspan
|
|
1450
|
+
}
|
|
1451
|
+
mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`] = mergeItem
|
|
1452
|
+
mergeFooterList.push(mergeItem)
|
|
1375
1453
|
}
|
|
1376
1454
|
}
|
|
1377
1455
|
}
|
|
@@ -1379,7 +1457,7 @@ function setMerges ($xeTable: VxeTableConstructor, merges: VxeTableDefines.Merge
|
|
|
1379
1457
|
}
|
|
1380
1458
|
}
|
|
1381
1459
|
|
|
1382
|
-
function removeMerges ($xeTable: VxeTableConstructor, merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[], mList: VxeTableDefines.MergeItem[], rowList?: any) {
|
|
1460
|
+
function removeMerges ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[], mList: VxeTableDefines.MergeItem[], rowList?: any) {
|
|
1383
1461
|
// const props = $xeTable
|
|
1384
1462
|
const internalData = $xeTable as unknown as TableInternalData
|
|
1385
1463
|
|
|
@@ -2069,8 +2147,8 @@ function loadScrollXData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
|
|
|
2069
2147
|
const reactData = $xeTable as unknown as TableReactData
|
|
2070
2148
|
const internalData = $xeTable as unknown as TableInternalData
|
|
2071
2149
|
|
|
2072
|
-
const {
|
|
2073
|
-
const { scrollXStore } = internalData
|
|
2150
|
+
const { isScrollXBig } = reactData
|
|
2151
|
+
const { mergeBodyList, mergeFooterList, scrollXStore } = internalData
|
|
2074
2152
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollXStore
|
|
2075
2153
|
const { toVisibleIndex, visibleSize } = handleVirtualXVisible($xeTable)
|
|
2076
2154
|
const offsetItem = {
|
|
@@ -2079,7 +2157,7 @@ function loadScrollXData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
|
|
|
2079
2157
|
}
|
|
2080
2158
|
scrollXStore.visibleStartIndex = toVisibleIndex - 1
|
|
2081
2159
|
scrollXStore.visibleEndIndex = toVisibleIndex + visibleSize + 1
|
|
2082
|
-
calculateMergerOffsetIndex(
|
|
2160
|
+
calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList), offsetItem, 'col')
|
|
2083
2161
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem
|
|
2084
2162
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
2085
2163
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -2293,8 +2371,8 @@ function loadScrollYData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
|
|
|
2293
2371
|
const reactData = $xeTable as unknown as TableReactData
|
|
2294
2372
|
const internalData = $xeTable as unknown as TableInternalData
|
|
2295
2373
|
|
|
2296
|
-
const {
|
|
2297
|
-
const { scrollYStore } = internalData
|
|
2374
|
+
const { isAllOverflow, isScrollYBig } = reactData
|
|
2375
|
+
const { mergeBodyList, scrollYStore } = internalData
|
|
2298
2376
|
const { preloadSize, startIndex, endIndex, offsetSize } = scrollYStore
|
|
2299
2377
|
const autoOffsetYSize = isAllOverflow ? offsetSize : offsetSize + 1
|
|
2300
2378
|
const { toVisibleIndex, visibleSize } = handleVirtualYVisible($xeTable)
|
|
@@ -2304,7 +2382,7 @@ function loadScrollYData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
|
|
|
2304
2382
|
}
|
|
2305
2383
|
scrollYStore.visibleStartIndex = toVisibleIndex - 1
|
|
2306
2384
|
scrollYStore.visibleEndIndex = toVisibleIndex + visibleSize + 1
|
|
2307
|
-
calculateMergerOffsetIndex(
|
|
2385
|
+
calculateMergerOffsetIndex(mergeBodyList, offsetItem, 'row')
|
|
2308
2386
|
const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem
|
|
2309
2387
|
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
2310
2388
|
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
@@ -2721,7 +2799,7 @@ const Methods = {
|
|
|
2721
2799
|
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
|
|
2722
2800
|
*/
|
|
2723
2801
|
syncData () {
|
|
2724
|
-
|
|
2802
|
+
errLog('vxe.error.delFunc', ['syncData', 'getData'])
|
|
2725
2803
|
return this.$nextTick().then(() => {
|
|
2726
2804
|
this.tableData = []
|
|
2727
2805
|
return this.$nextTick().then(() => this.loadTableData(this.tableFullData, true))
|
|
@@ -2732,31 +2810,37 @@ const Methods = {
|
|
|
2732
2810
|
* 对于手动更改了排序、筛选...等条件后需要重新处理数据时可能会用到
|
|
2733
2811
|
*/
|
|
2734
2812
|
updateData () {
|
|
2735
|
-
const
|
|
2736
|
-
|
|
2737
|
-
|
|
2813
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
2814
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
2815
|
+
|
|
2816
|
+
const { scrollXLoad, scrollYLoad } = reactData
|
|
2817
|
+
return $xeTable.handleTableData(true).then(() => {
|
|
2818
|
+
$xeTable.updateFooter()
|
|
2738
2819
|
if (scrollXLoad || scrollYLoad) {
|
|
2739
2820
|
if (scrollXLoad) {
|
|
2740
|
-
|
|
2821
|
+
$xeTable.updateScrollXSpace()
|
|
2741
2822
|
}
|
|
2742
2823
|
if (scrollYLoad) {
|
|
2743
|
-
|
|
2824
|
+
$xeTable.updateScrollYSpace()
|
|
2744
2825
|
}
|
|
2745
|
-
return
|
|
2826
|
+
return $xeTable.refreshScroll()
|
|
2746
2827
|
}
|
|
2747
2828
|
}).then(() => {
|
|
2748
|
-
|
|
2749
|
-
return
|
|
2829
|
+
$xeTable.updateCellAreas()
|
|
2830
|
+
return $xeTable.recalculate(true)
|
|
2750
2831
|
}).then(() => {
|
|
2751
2832
|
// 存在滚动行为未结束情况
|
|
2752
|
-
setTimeout(() =>
|
|
2833
|
+
setTimeout(() => $xeTable.recalculate(), 50)
|
|
2753
2834
|
})
|
|
2754
2835
|
},
|
|
2755
2836
|
handleTableData (force: any) {
|
|
2756
|
-
const $xeTable = this
|
|
2837
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
2838
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
2839
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
2757
2840
|
|
|
2758
|
-
const { scrollYLoad
|
|
2759
|
-
|
|
2841
|
+
const { scrollYLoad } = reactData
|
|
2842
|
+
const { scrollYStore, fullDataRowIdData } = internalData
|
|
2843
|
+
let fullList: any[] = internalData.afterFullData
|
|
2760
2844
|
// 是否进行数据处理
|
|
2761
2845
|
if (force) {
|
|
2762
2846
|
// 更新数据,处理筛选和排序
|
|
@@ -2765,14 +2849,17 @@ const Methods = {
|
|
|
2765
2849
|
fullList = handleVirtualTreeToList($xeTable)
|
|
2766
2850
|
}
|
|
2767
2851
|
const tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0)
|
|
2852
|
+
const visibleDataRowIdMaps: Record<string, any> = {}
|
|
2768
2853
|
tableData.forEach((row: any, $index: any) => {
|
|
2769
2854
|
const rowid = getRowid(this, row)
|
|
2770
2855
|
const rest = fullDataRowIdData[rowid]
|
|
2771
2856
|
if (rest) {
|
|
2772
2857
|
rest.$index = $index
|
|
2773
2858
|
}
|
|
2859
|
+
visibleDataRowIdMaps[rowid] = row
|
|
2774
2860
|
})
|
|
2775
2861
|
this.tableData = tableData
|
|
2862
|
+
internalData.visibleDataRowIdData = visibleDataRowIdMaps
|
|
2776
2863
|
return this.$nextTick()
|
|
2777
2864
|
},
|
|
2778
2865
|
/**
|
|
@@ -2789,6 +2876,7 @@ const Methods = {
|
|
|
2789
2876
|
const { scrollYLoad: oldScrollYLoad } = reactData
|
|
2790
2877
|
const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData
|
|
2791
2878
|
const treeOpts = $xeTable.computeTreeOpts
|
|
2879
|
+
const expandOpts = $xeTable.computeExpandOpts
|
|
2792
2880
|
const { transform } = treeOpts
|
|
2793
2881
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
2794
2882
|
let treeData = []
|
|
@@ -2845,7 +2933,7 @@ const Methods = {
|
|
|
2845
2933
|
internalData.tableFullData = fullData
|
|
2846
2934
|
internalData.tableFullTreeData = treeData
|
|
2847
2935
|
// 缓存数据
|
|
2848
|
-
$xeTable.cacheRowMap(
|
|
2936
|
+
$xeTable.cacheRowMap(isReset)
|
|
2849
2937
|
// 原始数据
|
|
2850
2938
|
internalData.tableSynchData = datas
|
|
2851
2939
|
if (isReset) {
|
|
@@ -2863,6 +2951,7 @@ const Methods = {
|
|
|
2863
2951
|
$xeTable.clearMergeFooterItems()
|
|
2864
2952
|
$xeTable.handleTableData(true)
|
|
2865
2953
|
$xeTable.updateFooter()
|
|
2954
|
+
$xeTable.handleUpdateBodyMerge()
|
|
2866
2955
|
return $xeTable.$nextTick().then(() => {
|
|
2867
2956
|
updateHeight($xeTable)
|
|
2868
2957
|
updateStyle($xeTable)
|
|
@@ -2875,6 +2964,9 @@ const Methods = {
|
|
|
2875
2964
|
}
|
|
2876
2965
|
|
|
2877
2966
|
if (sYLoad) {
|
|
2967
|
+
if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
|
|
2968
|
+
errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"'])
|
|
2969
|
+
}
|
|
2878
2970
|
// if (showOverflow) {
|
|
2879
2971
|
// if (!rowOpts.height) {
|
|
2880
2972
|
// const errColumn = internalData.tableFullColumn.find((column: any) => column.showOverflow === false)
|
|
@@ -3039,7 +3131,7 @@ const Methods = {
|
|
|
3039
3131
|
/**
|
|
3040
3132
|
* 更新数据行的 Map
|
|
3041
3133
|
*/
|
|
3042
|
-
cacheRowMap () {
|
|
3134
|
+
cacheRowMap (isReset: boolean) {
|
|
3043
3135
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
3044
3136
|
const props = $xeTable
|
|
3045
3137
|
const reactData = $xeTable as unknown as TableReactData
|
|
@@ -3051,7 +3143,7 @@ const Methods = {
|
|
|
3051
3143
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
3052
3144
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
|
|
3053
3145
|
const { lazy } = treeOpts
|
|
3054
|
-
const fullAllDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = { ...fullAllDataRowIdData } // 存在已删除数据
|
|
3146
|
+
const fullAllDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = isReset ? {} : { ...fullAllDataRowIdData } // 存在已删除数据
|
|
3055
3147
|
const fullDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = {}
|
|
3056
3148
|
|
|
3057
3149
|
const { handleUpdateRowId } = createHandleUpdateRowId($xeTable)
|
|
@@ -3814,9 +3906,11 @@ const Methods = {
|
|
|
3814
3906
|
getCheckboxRecords (isFull: boolean) {
|
|
3815
3907
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
3816
3908
|
const props = $xeTable
|
|
3909
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
3817
3910
|
const internalData = $xeTable as unknown as TableInternalData
|
|
3818
3911
|
|
|
3819
3912
|
const { treeConfig } = props
|
|
3913
|
+
const { updateCheckboxFlag } = reactData
|
|
3820
3914
|
const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps, selectCheckboxMaps } = internalData
|
|
3821
3915
|
const treeOpts = $xeTable.computeTreeOpts
|
|
3822
3916
|
const checkboxOpts = $xeTable.computeCheckboxOpts
|
|
@@ -3824,26 +3918,28 @@ const Methods = {
|
|
|
3824
3918
|
const { checkField } = checkboxOpts
|
|
3825
3919
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
3826
3920
|
let rowList: any[] = []
|
|
3827
|
-
if (
|
|
3828
|
-
if (
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
const currTableData = isFull ? tableFullData : afterFullData
|
|
3833
|
-
rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
|
|
3834
|
-
}
|
|
3835
|
-
} else {
|
|
3836
|
-
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
3837
|
-
if (isFull) {
|
|
3838
|
-
if (fullDataRowIdData[rowid]) {
|
|
3839
|
-
rowList.push(fullDataRowIdData[rowid].row)
|
|
3840
|
-
}
|
|
3921
|
+
if (updateCheckboxFlag) {
|
|
3922
|
+
if (checkField) {
|
|
3923
|
+
if (treeConfig) {
|
|
3924
|
+
const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
|
|
3925
|
+
rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField })
|
|
3841
3926
|
} else {
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
}
|
|
3927
|
+
const currTableData = isFull ? tableFullData : afterFullData
|
|
3928
|
+
rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
|
|
3845
3929
|
}
|
|
3846
|
-
}
|
|
3930
|
+
} else {
|
|
3931
|
+
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
3932
|
+
if (isFull) {
|
|
3933
|
+
if (fullDataRowIdData[rowid]) {
|
|
3934
|
+
rowList.push(fullDataRowIdData[rowid].row)
|
|
3935
|
+
}
|
|
3936
|
+
} else {
|
|
3937
|
+
if (afterFullRowMaps[rowid]) {
|
|
3938
|
+
rowList.push(afterFullRowMaps[rowid])
|
|
3939
|
+
}
|
|
3940
|
+
}
|
|
3941
|
+
})
|
|
3942
|
+
}
|
|
3847
3943
|
}
|
|
3848
3944
|
return rowList
|
|
3849
3945
|
},
|
|
@@ -5684,6 +5780,27 @@ const Methods = {
|
|
|
5684
5780
|
this.updateCellAreas()
|
|
5685
5781
|
this.recalculate(true)
|
|
5686
5782
|
},
|
|
5783
|
+
/**
|
|
5784
|
+
* 处理合并
|
|
5785
|
+
*/
|
|
5786
|
+
handleUpdateBodyMerge () {
|
|
5787
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
5788
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
5789
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
5790
|
+
|
|
5791
|
+
const { mergeBodyList } = internalData
|
|
5792
|
+
internalData.mergeBodyCellMaps = buildMergeData(mergeBodyList)
|
|
5793
|
+
reactData.mergeBodyFlag++
|
|
5794
|
+
},
|
|
5795
|
+
handleUpdateFooterMerge () {
|
|
5796
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
5797
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
5798
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
5799
|
+
|
|
5800
|
+
const { mergeFooterList } = internalData
|
|
5801
|
+
internalData.mergeFooterCellMaps = buildMergeData(mergeFooterList)
|
|
5802
|
+
reactData.mergeFootFlag++
|
|
5803
|
+
},
|
|
5687
5804
|
handleTargetLeaveEvent () {
|
|
5688
5805
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
5689
5806
|
const internalData = $xeTable as unknown as TableInternalData
|
|
@@ -9270,7 +9387,7 @@ const Methods = {
|
|
|
9270
9387
|
* @param {ColumnInfo} column 列配置
|
|
9271
9388
|
*/
|
|
9272
9389
|
scrollToColumn (fieldOrColumn: any) {
|
|
9273
|
-
const $xeTable = this
|
|
9390
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9274
9391
|
|
|
9275
9392
|
return handleScrollToRowColumn($xeTable, fieldOrColumn)
|
|
9276
9393
|
},
|
|
@@ -9300,8 +9417,8 @@ const Methods = {
|
|
|
9300
9417
|
* 手动清除滚动相关信息,还原到初始状态
|
|
9301
9418
|
*/
|
|
9302
9419
|
clearScroll () {
|
|
9303
|
-
const $xeTable = this
|
|
9304
|
-
const internalData = $xeTable
|
|
9420
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9421
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9305
9422
|
|
|
9306
9423
|
const { elemStore, scrollXStore, scrollYStore } = internalData
|
|
9307
9424
|
const headerScrollElem = getRefElem(elemStore['main-header-scroll'])
|
|
@@ -9341,17 +9458,22 @@ const Methods = {
|
|
|
9341
9458
|
*/
|
|
9342
9459
|
updateFooter () {
|
|
9343
9460
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9461
|
+
const props = $xeTable
|
|
9462
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
9463
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9344
9464
|
const $xeGrid = $xeTable.$xeGrid as VxeGridConstructor & GridPrivateMethods
|
|
9345
9465
|
|
|
9346
|
-
const { showFooter,
|
|
9466
|
+
const { showFooter, footerData, footerMethod } = props
|
|
9467
|
+
const { visibleColumn, afterFullData } = internalData
|
|
9347
9468
|
let footData = []
|
|
9348
9469
|
if (showFooter && footerData && footerData.length) {
|
|
9349
9470
|
footData = footerData.slice(0)
|
|
9350
9471
|
} else if (showFooter && footerMethod) {
|
|
9351
|
-
footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data:
|
|
9472
|
+
footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid }) : []
|
|
9352
9473
|
}
|
|
9353
|
-
|
|
9354
|
-
|
|
9474
|
+
reactData.footerTableData = footData
|
|
9475
|
+
$xeTable.handleUpdateFooterMerge()
|
|
9476
|
+
return $xeTable.$nextTick()
|
|
9355
9477
|
},
|
|
9356
9478
|
/**
|
|
9357
9479
|
* 更新列状态 updateStatus({ row, column }, cellValue)
|
|
@@ -9359,7 +9481,7 @@ const Methods = {
|
|
|
9359
9481
|
* 如果单元格配置了校验规则,则会进行校验
|
|
9360
9482
|
*/
|
|
9361
9483
|
updateStatus (slotParams: any, cellValue: any) {
|
|
9362
|
-
const $xeTable = this
|
|
9484
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9363
9485
|
const props = $xeTable
|
|
9364
9486
|
|
|
9365
9487
|
return this.$nextTick().then(() => {
|
|
@@ -9374,14 +9496,16 @@ const Methods = {
|
|
|
9374
9496
|
* @param {TableMergeConfig[]} merges { row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }
|
|
9375
9497
|
*/
|
|
9376
9498
|
setMergeCells (merges: any) {
|
|
9377
|
-
const $xeTable = this
|
|
9499
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9500
|
+
const props = $xeTable
|
|
9378
9501
|
|
|
9379
|
-
if (
|
|
9502
|
+
if (props.spanMethod) {
|
|
9380
9503
|
errLog('vxe.error.errConflicts', ['merge-cells', 'span-method'])
|
|
9381
9504
|
}
|
|
9382
|
-
|
|
9383
|
-
|
|
9384
|
-
|
|
9505
|
+
handleBodyMerge($xeTable, merges)
|
|
9506
|
+
$xeTable.handleUpdateBodyMerge()
|
|
9507
|
+
return $xeTable.$nextTick().then(() => {
|
|
9508
|
+
$xeTable.updateCellAreas()
|
|
9385
9509
|
return updateStyle($xeTable)
|
|
9386
9510
|
})
|
|
9387
9511
|
},
|
|
@@ -9390,14 +9514,16 @@ const Methods = {
|
|
|
9390
9514
|
* @param {TableMergeConfig[]} merges 多个或数组 [{row:Row|number, col:ColumnInfo|number}]
|
|
9391
9515
|
*/
|
|
9392
9516
|
removeMergeCells (merges: any) {
|
|
9393
|
-
const $xeTable = this
|
|
9517
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9518
|
+
const props = $xeTable
|
|
9519
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9394
9520
|
|
|
9395
|
-
if (
|
|
9521
|
+
if (props.spanMethod) {
|
|
9396
9522
|
errLog('vxe.error.errConflicts', ['merge-cells', 'span-method'])
|
|
9397
9523
|
}
|
|
9398
|
-
const rest = removeMerges(
|
|
9399
|
-
return
|
|
9400
|
-
|
|
9524
|
+
const rest = removeMerges($xeTable, merges, internalData.mergeBodyList, internalData.afterFullData)
|
|
9525
|
+
return $xeTable.$nextTick().then(() => {
|
|
9526
|
+
$xeTable.updateCellAreas()
|
|
9401
9527
|
updateStyle($xeTable)
|
|
9402
9528
|
return rest
|
|
9403
9529
|
})
|
|
@@ -9406,40 +9532,50 @@ const Methods = {
|
|
|
9406
9532
|
* 获取所有被合并的单元格
|
|
9407
9533
|
*/
|
|
9408
9534
|
getMergeCells () {
|
|
9409
|
-
|
|
9535
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9536
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9537
|
+
|
|
9538
|
+
return internalData.mergeBodyList.slice(0)
|
|
9410
9539
|
},
|
|
9411
9540
|
/**
|
|
9412
9541
|
* 清除所有单元格合并
|
|
9413
9542
|
*/
|
|
9414
9543
|
clearMergeCells () {
|
|
9415
|
-
const $xeTable = this
|
|
9544
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9545
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9416
9546
|
|
|
9417
|
-
|
|
9418
|
-
|
|
9547
|
+
internalData.mergeBodyList = []
|
|
9548
|
+
internalData.mergeBodyMaps = {}
|
|
9549
|
+
internalData.mergeBodyCellMaps = {}
|
|
9550
|
+
return $xeTable.$nextTick().then(() => {
|
|
9419
9551
|
return updateStyle($xeTable)
|
|
9420
9552
|
})
|
|
9421
9553
|
},
|
|
9422
9554
|
setMergeFooterItems (merges: any) {
|
|
9423
|
-
const $xeTable = this
|
|
9555
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9556
|
+
const props = $xeTable
|
|
9424
9557
|
|
|
9425
|
-
if (
|
|
9558
|
+
if (props.footerSpanMethod) {
|
|
9426
9559
|
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method'])
|
|
9427
9560
|
}
|
|
9428
|
-
|
|
9429
|
-
|
|
9430
|
-
|
|
9561
|
+
handleFooterMerge($xeTable, merges)
|
|
9562
|
+
$xeTable.handleUpdateFooterMerge()
|
|
9563
|
+
return $xeTable.$nextTick().then(() => {
|
|
9564
|
+
$xeTable.updateCellAreas()
|
|
9431
9565
|
return updateStyle($xeTable)
|
|
9432
9566
|
})
|
|
9433
9567
|
},
|
|
9434
9568
|
removeMergeFooterItems (merges: any) {
|
|
9435
|
-
const $xeTable = this
|
|
9569
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9570
|
+
const props = $xeTable
|
|
9571
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9436
9572
|
|
|
9437
|
-
if (
|
|
9573
|
+
if (props.footerSpanMethod) {
|
|
9438
9574
|
errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method'])
|
|
9439
9575
|
}
|
|
9440
|
-
const rest = removeMerges(
|
|
9441
|
-
return
|
|
9442
|
-
|
|
9576
|
+
const rest = removeMerges($xeTable, merges, internalData.mergeFooterList)
|
|
9577
|
+
return $xeTable.$nextTick().then(() => {
|
|
9578
|
+
$xeTable.updateCellAreas()
|
|
9443
9579
|
updateStyle($xeTable)
|
|
9444
9580
|
return rest
|
|
9445
9581
|
})
|
|
@@ -9448,16 +9584,22 @@ const Methods = {
|
|
|
9448
9584
|
* 获取所有被合并的表尾
|
|
9449
9585
|
*/
|
|
9450
9586
|
getMergeFooterItems () {
|
|
9451
|
-
|
|
9587
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9588
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9589
|
+
|
|
9590
|
+
return internalData.mergeFooterList.slice(0)
|
|
9452
9591
|
},
|
|
9453
9592
|
/**
|
|
9454
9593
|
* 清除所有表尾合并
|
|
9455
9594
|
*/
|
|
9456
9595
|
clearMergeFooterItems () {
|
|
9457
|
-
const $xeTable = this
|
|
9596
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
9597
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
9458
9598
|
|
|
9459
|
-
|
|
9460
|
-
|
|
9599
|
+
internalData.mergeFooterList = []
|
|
9600
|
+
internalData.mergeFooterMaps = {}
|
|
9601
|
+
internalData.mergeFooterCellMaps = {}
|
|
9602
|
+
return $xeTable.$nextTick().then(() => {
|
|
9461
9603
|
return updateStyle($xeTable)
|
|
9462
9604
|
})
|
|
9463
9605
|
},
|