vxe-table 4.1.2 → 4.1.5
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/README.en.md +3 -3
- package/README.md +3 -3
- package/README.zh-TW.md +2 -3
- package/es/edit/src/hook.js +189 -69
- package/es/input/src/input.js +8 -2
- package/es/table/src/body.js +6 -3
- package/es/table/src/cell.js +70 -54
- package/es/table/src/table.js +36 -30
- package/es/v-x-e-table/src/conf.js +2 -2
- package/lib/edit/src/hook.js +243 -70
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/index.umd.js +853 -140
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +10 -2
- package/lib/input/src/input.min.js +1 -1
- package/lib/table/src/body.js +6 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +92 -35
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +38 -30
- package/lib/table/src/table.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +2 -2
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/package.json +3 -3
- package/packages/edit/src/hook.ts +183 -69
- package/packages/input/src/input.ts +9 -2
- package/packages/table/src/body.ts +6 -3
- package/packages/table/src/cell.ts +77 -44
- package/packages/table/src/table.ts +36 -29
- package/packages/v-x-e-table/src/conf.ts +2 -2
- package/types/edit.d.ts +6 -3
- package/types/index.d.ts +1 -1
- package/types/plugins/pro.d.ts +6 -6
- package/types/table.d.ts +18 -4
package/es/table/src/cell.js
CHANGED
|
@@ -309,17 +309,18 @@ export var Cell = {
|
|
|
309
309
|
var selectRow = reactData.selectRow;
|
|
310
310
|
var radioOpts = computeRadioOpts.value;
|
|
311
311
|
var slots = column.slots;
|
|
312
|
-
var labelField = radioOpts.labelField, checkMethod = radioOpts.checkMethod;
|
|
312
|
+
var labelField = radioOpts.labelField, checkMethod = radioOpts.checkMethod, visibleMethod = radioOpts.visibleMethod;
|
|
313
313
|
var row = params.row;
|
|
314
314
|
var defaultSlot = slots ? slots.default : null;
|
|
315
315
|
var radioSlot = slots ? slots.radio : null;
|
|
316
316
|
var isChecked = row === selectRow;
|
|
317
|
+
var isVisible = !visibleMethod || visibleMethod({ row: row });
|
|
317
318
|
var isDisabled = !!checkMethod;
|
|
318
319
|
var ons;
|
|
319
320
|
if (!isHidden) {
|
|
320
321
|
ons = {
|
|
321
322
|
onClick: function (evnt) {
|
|
322
|
-
if (!isDisabled) {
|
|
323
|
+
if (!isDisabled && isVisible) {
|
|
323
324
|
$table.triggerRadioRowEvent(evnt, params);
|
|
324
325
|
}
|
|
325
326
|
}
|
|
@@ -328,23 +329,28 @@ export var Cell = {
|
|
|
328
329
|
isDisabled = !checkMethod({ row: row });
|
|
329
330
|
}
|
|
330
331
|
}
|
|
331
|
-
var radioParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled });
|
|
332
|
-
|
|
332
|
+
var radioParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible });
|
|
333
|
+
if (radioSlot) {
|
|
334
|
+
return $table.callSlot(radioSlot, radioParams);
|
|
335
|
+
}
|
|
336
|
+
var radioVNs = [];
|
|
337
|
+
if (isVisible) {
|
|
338
|
+
radioVNs.push(h('span', {
|
|
339
|
+
class: 'vxe-radio--icon vxe-radio--checked-icon'
|
|
340
|
+
}), h('span', {
|
|
341
|
+
class: 'vxe-radio--icon vxe-radio--unchecked-icon'
|
|
342
|
+
}));
|
|
343
|
+
}
|
|
344
|
+
if (defaultSlot || labelField) {
|
|
345
|
+
radioVNs.push(h('span', {
|
|
346
|
+
class: 'vxe-radio--label'
|
|
347
|
+
}, defaultSlot ? $table.callSlot(defaultSlot, radioParams) : XEUtils.get(row, labelField)));
|
|
348
|
+
}
|
|
349
|
+
return [
|
|
333
350
|
h('span', __assign({ class: ['vxe-cell--radio', {
|
|
334
351
|
'is--checked': isChecked,
|
|
335
352
|
'is--disabled': isDisabled
|
|
336
|
-
}] }, ons),
|
|
337
|
-
h('span', {
|
|
338
|
-
class: 'vxe-radio--icon vxe-radio--checked-icon'
|
|
339
|
-
}),
|
|
340
|
-
h('span', {
|
|
341
|
-
class: 'vxe-radio--icon vxe-radio--unchecked-icon'
|
|
342
|
-
})
|
|
343
|
-
].concat(defaultSlot || labelField ? [
|
|
344
|
-
h('span', {
|
|
345
|
-
class: 'vxe-radio--label'
|
|
346
|
-
}, defaultSlot ? $table.callSlot(defaultSlot, radioParams) : XEUtils.get(row, labelField))
|
|
347
|
-
] : []))
|
|
353
|
+
}] }, ons), radioVNs)
|
|
348
354
|
];
|
|
349
355
|
},
|
|
350
356
|
renderTreeRadioCell: function (params) {
|
|
@@ -416,19 +422,20 @@ export var Cell = {
|
|
|
416
422
|
var selection = reactData.selection, treeIndeterminates = reactData.treeIndeterminates;
|
|
417
423
|
var computeCheckboxOpts = $table.getComputeMaps().computeCheckboxOpts;
|
|
418
424
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
419
|
-
var labelField = checkboxOpts.labelField, checkMethod = checkboxOpts.checkMethod;
|
|
425
|
+
var labelField = checkboxOpts.labelField, checkMethod = checkboxOpts.checkMethod, visibleMethod = checkboxOpts.visibleMethod;
|
|
420
426
|
var slots = column.slots;
|
|
421
427
|
var defaultSlot = slots ? slots.default : null;
|
|
422
428
|
var checkboxSlot = slots ? slots.checkbox : null;
|
|
423
429
|
var indeterminate = false;
|
|
424
430
|
var isChecked = false;
|
|
431
|
+
var isVisible = !visibleMethod || visibleMethod({ row: row });
|
|
425
432
|
var isDisabled = !!checkMethod;
|
|
426
433
|
var ons;
|
|
427
434
|
if (!isHidden) {
|
|
428
435
|
isChecked = $table.findRowIndexOf(selection, row) > -1;
|
|
429
436
|
ons = {
|
|
430
437
|
onClick: function (evnt) {
|
|
431
|
-
if (!isDisabled) {
|
|
438
|
+
if (!isDisabled && isVisible) {
|
|
432
439
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
433
440
|
}
|
|
434
441
|
}
|
|
@@ -440,27 +447,31 @@ export var Cell = {
|
|
|
440
447
|
indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
|
|
441
448
|
}
|
|
442
449
|
}
|
|
443
|
-
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, indeterminate: indeterminate });
|
|
444
|
-
|
|
450
|
+
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate: indeterminate });
|
|
451
|
+
if (checkboxSlot) {
|
|
452
|
+
return $table.callSlot(checkboxSlot, checkboxParams);
|
|
453
|
+
}
|
|
454
|
+
var checkVNs = [];
|
|
455
|
+
if (isVisible) {
|
|
456
|
+
checkVNs.push(h('span', {
|
|
457
|
+
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
458
|
+
}), h('span', {
|
|
459
|
+
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
460
|
+
}), h('span', {
|
|
461
|
+
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
462
|
+
}));
|
|
463
|
+
}
|
|
464
|
+
if (defaultSlot || labelField) {
|
|
465
|
+
checkVNs.push(h('span', {
|
|
466
|
+
class: 'vxe-checkbox--label'
|
|
467
|
+
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField)));
|
|
468
|
+
}
|
|
469
|
+
return [
|
|
445
470
|
h('span', __assign({ class: ['vxe-cell--checkbox', {
|
|
446
471
|
'is--checked': isChecked,
|
|
447
472
|
'is--disabled': isDisabled,
|
|
448
473
|
'is--indeterminate': indeterminate
|
|
449
|
-
}] }, ons),
|
|
450
|
-
h('span', {
|
|
451
|
-
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
452
|
-
}),
|
|
453
|
-
h('span', {
|
|
454
|
-
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
455
|
-
}),
|
|
456
|
-
h('span', {
|
|
457
|
-
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
458
|
-
})
|
|
459
|
-
].concat(defaultSlot || labelField ? [
|
|
460
|
-
h('span', {
|
|
461
|
-
class: 'vxe-checkbox--label'
|
|
462
|
-
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField))
|
|
463
|
-
] : []))
|
|
474
|
+
}] }, ons), checkVNs)
|
|
464
475
|
];
|
|
465
476
|
},
|
|
466
477
|
renderTreeSelectionCell: function (params) {
|
|
@@ -473,19 +484,20 @@ export var Cell = {
|
|
|
473
484
|
var treeIndeterminates = reactData.treeIndeterminates;
|
|
474
485
|
var computeCheckboxOpts = $table.getComputeMaps().computeCheckboxOpts;
|
|
475
486
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
476
|
-
var labelField = checkboxOpts.labelField, property = checkboxOpts.checkField, halfField = checkboxOpts.halfField, checkMethod = checkboxOpts.checkMethod;
|
|
487
|
+
var labelField = checkboxOpts.labelField, property = checkboxOpts.checkField, halfField = checkboxOpts.halfField, checkMethod = checkboxOpts.checkMethod, visibleMethod = checkboxOpts.visibleMethod;
|
|
477
488
|
var slots = column.slots;
|
|
478
489
|
var defaultSlot = slots ? slots.default : null;
|
|
479
490
|
var checkboxSlot = slots ? slots.checkbox : null;
|
|
480
491
|
var indeterminate = false;
|
|
481
492
|
var isChecked = false;
|
|
493
|
+
var isVisible = !visibleMethod || visibleMethod({ row: row });
|
|
482
494
|
var isDisabled = !!checkMethod;
|
|
483
495
|
var ons;
|
|
484
496
|
if (!isHidden) {
|
|
485
497
|
isChecked = XEUtils.get(row, property);
|
|
486
498
|
ons = {
|
|
487
499
|
onClick: function (evnt) {
|
|
488
|
-
if (!isDisabled) {
|
|
500
|
+
if (!isDisabled && isVisible) {
|
|
489
501
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
490
502
|
}
|
|
491
503
|
}
|
|
@@ -497,27 +509,31 @@ export var Cell = {
|
|
|
497
509
|
indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
|
|
498
510
|
}
|
|
499
511
|
}
|
|
500
|
-
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, indeterminate: indeterminate });
|
|
501
|
-
|
|
512
|
+
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate: indeterminate });
|
|
513
|
+
if (checkboxSlot) {
|
|
514
|
+
return $table.callSlot(checkboxSlot, checkboxParams);
|
|
515
|
+
}
|
|
516
|
+
var checkVNs = [];
|
|
517
|
+
if (isVisible) {
|
|
518
|
+
checkVNs.push(h('span', {
|
|
519
|
+
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
520
|
+
}), h('span', {
|
|
521
|
+
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
522
|
+
}), h('span', {
|
|
523
|
+
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
524
|
+
}));
|
|
525
|
+
if (defaultSlot || labelField) {
|
|
526
|
+
checkVNs.push(h('span', {
|
|
527
|
+
class: 'vxe-checkbox--label'
|
|
528
|
+
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField)));
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
return [
|
|
502
532
|
h('span', __assign({ class: ['vxe-cell--checkbox', {
|
|
503
533
|
'is--checked': isChecked,
|
|
504
534
|
'is--disabled': isDisabled,
|
|
505
535
|
'is--indeterminate': halfField && !isChecked ? row[halfField] : indeterminate
|
|
506
|
-
}] }, ons),
|
|
507
|
-
h('span', {
|
|
508
|
-
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
509
|
-
}),
|
|
510
|
-
h('span', {
|
|
511
|
-
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
512
|
-
}),
|
|
513
|
-
h('span', {
|
|
514
|
-
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
515
|
-
})
|
|
516
|
-
].concat(defaultSlot || labelField ? [
|
|
517
|
-
h('span', {
|
|
518
|
-
class: 'vxe-checkbox--label'
|
|
519
|
-
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField))
|
|
520
|
-
] : []))
|
|
536
|
+
}] }, ons), checkVNs)
|
|
521
537
|
];
|
|
522
538
|
},
|
|
523
539
|
renderTreeSelectionCellByProp: function (params) {
|
package/es/table/src/table.js
CHANGED
|
@@ -1762,11 +1762,11 @@ export default defineComponent({
|
|
|
1762
1762
|
if (transform) {
|
|
1763
1763
|
// 树结构自动转换
|
|
1764
1764
|
if (process.env.NODE_ENV === 'development') {
|
|
1765
|
-
if (!treeOpts.
|
|
1766
|
-
errLog('vxe.error.reqProp', ['tree-config.
|
|
1765
|
+
if (!treeOpts.rowField) {
|
|
1766
|
+
errLog('vxe.error.reqProp', ['tree-config.rowField']);
|
|
1767
1767
|
}
|
|
1768
|
-
if (!treeOpts.
|
|
1769
|
-
errLog('vxe.error.reqProp', ['tree-config.
|
|
1768
|
+
if (!treeOpts.parentField) {
|
|
1769
|
+
errLog('vxe.error.reqProp', ['tree-config.parentField']);
|
|
1770
1770
|
}
|
|
1771
1771
|
if (!treeOpts.children) {
|
|
1772
1772
|
errLog('vxe.error.reqProp', ['tree-config.children']);
|
|
@@ -1777,7 +1777,7 @@ export default defineComponent({
|
|
|
1777
1777
|
}
|
|
1778
1778
|
});
|
|
1779
1779
|
}
|
|
1780
|
-
treeData = XEUtils.toArrayTree(fullData, { key: treeOpts.
|
|
1780
|
+
treeData = XEUtils.toArrayTree(fullData, { key: treeOpts.rowField, parentKey: treeOpts.parentField, children: treeOpts.children });
|
|
1781
1781
|
fullData = treeData.slice(0);
|
|
1782
1782
|
}
|
|
1783
1783
|
else {
|
|
@@ -2072,8 +2072,10 @@ export default defineComponent({
|
|
|
2072
2072
|
var treeFullData = internalData.treeFullData;
|
|
2073
2073
|
var treeOpts = computeTreeOpts.value;
|
|
2074
2074
|
var fullData = [];
|
|
2075
|
+
var expandMaps = new Map();
|
|
2075
2076
|
XEUtils.eachTree(treeFullData, function (row, index, items, path, parent) {
|
|
2076
|
-
if (!parent || $xetable.findRowIndexOf(treeExpandeds, parent) > -1) {
|
|
2077
|
+
if (!parent || (expandMaps.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1)) {
|
|
2078
|
+
expandMaps.set(row, 1);
|
|
2077
2079
|
fullData.push(row);
|
|
2078
2080
|
}
|
|
2079
2081
|
}, treeOpts);
|
|
@@ -2258,18 +2260,13 @@ export default defineComponent({
|
|
|
2258
2260
|
var oRow = tableSourceData[rowIndex];
|
|
2259
2261
|
if (oRow && row) {
|
|
2260
2262
|
if (field) {
|
|
2261
|
-
|
|
2263
|
+
var newValue = XEUtils.get(record || row, field);
|
|
2264
|
+
XEUtils.set(row, field, newValue);
|
|
2265
|
+
XEUtils.set(oRow, field, newValue);
|
|
2262
2266
|
}
|
|
2263
2267
|
else {
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
XEUtils.clear(row, undefined);
|
|
2267
|
-
Object.assign(row, tablePrivateMethods.defineField(Object.assign({}, record)));
|
|
2268
|
-
tablePrivateMethods.cacheRowMap(true);
|
|
2269
|
-
}
|
|
2270
|
-
else {
|
|
2271
|
-
XEUtils.destructuring(oRow, XEUtils.clone(row, true));
|
|
2272
|
-
}
|
|
2268
|
+
var newRecord = XEUtils.clone(__assign({}, record), true);
|
|
2269
|
+
XEUtils.destructuring(oRow, Object.assign(row, newRecord));
|
|
2273
2270
|
}
|
|
2274
2271
|
}
|
|
2275
2272
|
reactData.tableData = tableData.slice(0);
|
|
@@ -2289,8 +2286,8 @@ export default defineComponent({
|
|
|
2289
2286
|
var tableSourceData = internalData.tableSourceData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
2290
2287
|
var treeOpts = computeTreeOpts.value;
|
|
2291
2288
|
var children = treeOpts.children;
|
|
2292
|
-
var
|
|
2293
|
-
var parentLevel =
|
|
2289
|
+
var parentRest = fullAllDataRowIdData[getRowid($xetable, row)];
|
|
2290
|
+
var parentLevel = parentRest ? parentRest.level : 0;
|
|
2294
2291
|
return tableMethods.createData(childRecords).then(function (rows) {
|
|
2295
2292
|
if (keepSource) {
|
|
2296
2293
|
var rowid_1 = getRowid($xetable, row);
|
|
@@ -3124,11 +3121,12 @@ export default defineComponent({
|
|
|
3124
3121
|
* @param {Row} row 行对象
|
|
3125
3122
|
*/
|
|
3126
3123
|
setCurrentRow: function (row) {
|
|
3124
|
+
var rowOpts = computeRowOpts.value;
|
|
3127
3125
|
var el = refElem.value;
|
|
3128
3126
|
tableMethods.clearCurrentRow();
|
|
3129
3127
|
tableMethods.clearCurrentColumn();
|
|
3130
3128
|
reactData.currentRow = row;
|
|
3131
|
-
if (props.highlightCurrentRow) {
|
|
3129
|
+
if (rowOpts.isCurrent || props.highlightCurrentRow) {
|
|
3132
3130
|
if (el) {
|
|
3133
3131
|
XEUtils.arrayEach(el.querySelectorAll("[rowid=\"" + getRowid($xetable, row) + "\"]"), function (elem) { return addClass(elem, 'row--current'); });
|
|
3134
3132
|
}
|
|
@@ -3174,7 +3172,8 @@ export default defineComponent({
|
|
|
3174
3172
|
* 用于当前行,获取当前行的数据
|
|
3175
3173
|
*/
|
|
3176
3174
|
getCurrentRecord: function () {
|
|
3177
|
-
|
|
3175
|
+
var rowOpts = computeRowOpts.value;
|
|
3176
|
+
return rowOpts.isCurrent || props.highlightCurrentRow ? reactData.currentRow : null;
|
|
3178
3177
|
},
|
|
3179
3178
|
/**
|
|
3180
3179
|
* 用于单选行,获取当已选中的数据
|
|
@@ -3209,7 +3208,8 @@ export default defineComponent({
|
|
|
3209
3208
|
return null;
|
|
3210
3209
|
},
|
|
3211
3210
|
getCurrentColumn: function () {
|
|
3212
|
-
|
|
3211
|
+
var columnOpts = computeColumnOpts.value;
|
|
3212
|
+
return columnOpts.isCurrent || props.highlightCurrentColumn ? reactData.currentColumn : null;
|
|
3213
3213
|
},
|
|
3214
3214
|
/**
|
|
3215
3215
|
* 用于当前列,设置某列行为高亮状态
|
|
@@ -4012,6 +4012,7 @@ export default defineComponent({
|
|
|
4012
4012
|
var editOpts = computeEditOpts.value;
|
|
4013
4013
|
var treeOpts = computeTreeOpts.value;
|
|
4014
4014
|
var menuList = computeMenuList.value;
|
|
4015
|
+
var rowOpts = computeRowOpts.value;
|
|
4015
4016
|
var selected = editStore.selected, actived = editStore.actived;
|
|
4016
4017
|
var keyCode = evnt.keyCode;
|
|
4017
4018
|
var isEsc = hasEventKey(evnt, EVENT_KEYS.ESCAPE);
|
|
@@ -4092,7 +4093,7 @@ export default defineComponent({
|
|
|
4092
4093
|
internalData._keyCtx = false;
|
|
4093
4094
|
}, 1000);
|
|
4094
4095
|
}
|
|
4095
|
-
else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || (treeConfig && highlightCurrentRow && currentRow))) {
|
|
4096
|
+
else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
|
|
4096
4097
|
// 退出选中
|
|
4097
4098
|
if (hasCtrlKey) {
|
|
4098
4099
|
// 如果是激活编辑状态,则取消编辑
|
|
@@ -4126,7 +4127,7 @@ export default defineComponent({
|
|
|
4126
4127
|
}
|
|
4127
4128
|
}
|
|
4128
4129
|
}
|
|
4129
|
-
else if (treeConfig && highlightCurrentRow && currentRow) {
|
|
4130
|
+
else if (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
|
|
4130
4131
|
// 如果是树形表格当前行回车移动到子节点
|
|
4131
4132
|
var childrens = currentRow[treeOpts.children];
|
|
4132
4133
|
if (childrens && childrens.length) {
|
|
@@ -4151,7 +4152,7 @@ export default defineComponent({
|
|
|
4151
4152
|
if (selected.row && selected.column) {
|
|
4152
4153
|
$xetable.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
4153
4154
|
}
|
|
4154
|
-
else if ((isUpArrow || isDwArrow) && highlightCurrentRow) {
|
|
4155
|
+
else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
4155
4156
|
// 当前行按键上下移动
|
|
4156
4157
|
$xetable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
4157
4158
|
}
|
|
@@ -4166,7 +4167,7 @@ export default defineComponent({
|
|
|
4166
4167
|
$xetable.moveTabSelected(actived.args, hasShiftKey, evnt);
|
|
4167
4168
|
}
|
|
4168
4169
|
}
|
|
4169
|
-
else if (keyboardConfig && isEnableConf(editConfig) && (isDel || (treeConfig && highlightCurrentRow && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
|
|
4170
|
+
else if (keyboardConfig && isEnableConf(editConfig) && (isDel || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
|
|
4170
4171
|
if (!isEditStatus) {
|
|
4171
4172
|
var delMethod = keyboardOpts.delMethod, backMethod = keyboardOpts.backMethod;
|
|
4172
4173
|
// 如果是删除键
|
|
@@ -4202,7 +4203,7 @@ export default defineComponent({
|
|
|
4202
4203
|
tableMethods.updateFooter();
|
|
4203
4204
|
}
|
|
4204
4205
|
}
|
|
4205
|
-
else if (isBack && keyboardOpts.isArrow && treeConfig && highlightCurrentRow && currentRow) {
|
|
4206
|
+
else if (isBack && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
|
|
4206
4207
|
// 如果树形表格回退键关闭当前行返回父节点
|
|
4207
4208
|
var parentRow_1 = XEUtils.findTree(internalData.afterFullData, function (item) { return item === currentRow; }, treeOpts).parent;
|
|
4208
4209
|
if (parentRow_1) {
|
|
@@ -4843,6 +4844,7 @@ export default defineComponent({
|
|
|
4843
4844
|
triggerHeaderCellClickEvent: function (evnt, params) {
|
|
4844
4845
|
var _lastResizeTime = internalData._lastResizeTime;
|
|
4845
4846
|
var sortOpts = computeSortOpts.value;
|
|
4847
|
+
var columnOpts = computeColumnOpts.value;
|
|
4846
4848
|
var column = params.column;
|
|
4847
4849
|
var cell = evnt.currentTarget;
|
|
4848
4850
|
var triggerResizable = _lastResizeTime && _lastResizeTime > Date.now() - 300;
|
|
@@ -4852,7 +4854,7 @@ export default defineComponent({
|
|
|
4852
4854
|
tablePrivateMethods.triggerSortEvent(evnt, column, getNextSortOrder(column));
|
|
4853
4855
|
}
|
|
4854
4856
|
tableMethods.dispatchEvent('header-cell-click', Object.assign({ triggerResizable: triggerResizable, triggerSort: triggerSort, triggerFilter: triggerFilter, cell: cell }, params), evnt);
|
|
4855
|
-
if (props.highlightCurrentColumn) {
|
|
4857
|
+
if (columnOpts.isCurrent || props.highlightCurrentColumn) {
|
|
4856
4858
|
tableMethods.setCurrentColumn(column);
|
|
4857
4859
|
}
|
|
4858
4860
|
},
|
|
@@ -4872,6 +4874,7 @@ export default defineComponent({
|
|
|
4872
4874
|
var treeOpts = computeTreeOpts.value;
|
|
4873
4875
|
var radioOpts = computeRadioOpts.value;
|
|
4874
4876
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
4877
|
+
var rowOpts = computeRowOpts.value;
|
|
4875
4878
|
var actived = editStore.actived;
|
|
4876
4879
|
var row = params.row, column = params.column;
|
|
4877
4880
|
var type = column.type, treeNode = column.treeNode;
|
|
@@ -4898,7 +4901,7 @@ export default defineComponent({
|
|
|
4898
4901
|
if (!triggerTreeNode) {
|
|
4899
4902
|
if (!triggerExpandNode) {
|
|
4900
4903
|
// 如果是高亮行
|
|
4901
|
-
if (highlightCurrentRow) {
|
|
4904
|
+
if (rowOpts.isCurrent || highlightCurrentRow) {
|
|
4902
4905
|
if (!triggerCheckbox && !triggerRadio) {
|
|
4903
4906
|
tablePrivateMethods.triggerCurrentRowEvent(evnt, params);
|
|
4904
4907
|
}
|
|
@@ -5212,6 +5215,7 @@ export default defineComponent({
|
|
|
5212
5215
|
tablePrivateMethods.handleTableData();
|
|
5213
5216
|
tablePrivateMethods.updateScrollYSpace();
|
|
5214
5217
|
},
|
|
5218
|
+
updateVirtualTreeData: updateVirtualTreeData,
|
|
5215
5219
|
/**
|
|
5216
5220
|
* 处理固定列的显示状态
|
|
5217
5221
|
*/
|
|
@@ -5679,6 +5683,8 @@ export default defineComponent({
|
|
|
5679
5683
|
var leftList = columnStore.leftList, rightList = columnStore.rightList;
|
|
5680
5684
|
var tooltipOpts = computeTooltipOpts.value;
|
|
5681
5685
|
var treeOpts = computeTreeOpts.value;
|
|
5686
|
+
var rowOpts = computeRowOpts.value;
|
|
5687
|
+
var columnOpts = computeColumnOpts.value;
|
|
5682
5688
|
var vSize = computeSize.value;
|
|
5683
5689
|
var tableBorder = computeTableBorder.value;
|
|
5684
5690
|
var mouseOpts = computeMouseOpts.value;
|
|
@@ -5693,8 +5699,8 @@ export default defineComponent({
|
|
|
5693
5699
|
_a['cell--highlight'] = highlightCell,
|
|
5694
5700
|
_a['cell--selected'] = mouseConfig && mouseOpts.selected,
|
|
5695
5701
|
_a['cell--area'] = mouseConfig && mouseOpts.area,
|
|
5696
|
-
_a['row--highlight'] = highlightHoverRow,
|
|
5697
|
-
_a['column--highlight'] = highlightHoverColumn,
|
|
5702
|
+
_a['row--highlight'] = rowOpts.isHover || highlightHoverRow,
|
|
5703
|
+
_a['column--highlight'] = columnOpts.isHover || highlightHoverColumn,
|
|
5698
5704
|
_a['is--header'] = showHeader,
|
|
5699
5705
|
_a['is--footer'] = showFooter,
|
|
5700
5706
|
_a['is--group'] = isGroup,
|