vxe-table 4.20.12 → 4.21.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/README.md +4 -2
- package/dist/all.esm.js +241 -119
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/hook.js +72 -38
- package/es/table/module/keyboard/hook.js +2 -2
- package/es/table/render/index.js +111 -26
- package/es/table/src/cell.js +12 -21
- package/es/table/src/table.js +39 -29
- package/es/table/style.css +9 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +9 -0
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +372 -181
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/hook.js +79 -36
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -2
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/render/index.js +161 -30
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +8 -17
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +17 -17
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +9 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -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/lib/vxe-table/style/style.css +9 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/hook.ts +90 -40
- package/packages/table/module/keyboard/hook.ts +2 -2
- package/packages/table/render/index.ts +138 -28
- package/packages/table/src/cell.ts +12 -21
- package/packages/table/src/table.ts +39 -29
- package/packages/ui/index.ts +3 -1
- package/styles/components/table.scss +18 -0
- /package/es/{iconfont.1786589186405.ttf → iconfont.1786796867061.ttf} +0 -0
- /package/es/{iconfont.1786589186405.woff → iconfont.1786796867061.woff} +0 -0
- /package/es/{iconfont.1786589186405.woff2 → iconfont.1786796867061.woff2} +0 -0
- /package/lib/{iconfont.1786589186405.ttf → iconfont.1786796867061.ttf} +0 -0
- /package/lib/{iconfont.1786589186405.woff → iconfont.1786796867061.woff} +0 -0
- /package/lib/{iconfont.1786589186405.woff2 → iconfont.1786796867061.woff2} +0 -0
package/dist/all.esm.js
CHANGED
|
@@ -44,7 +44,7 @@ function eqEmptyValue(cellValue) {
|
|
|
44
44
|
return cellValue === '' || XEUtils.eqNull(cellValue);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
const version = "4.
|
|
47
|
+
const version = "4.21.0-beta.0";
|
|
48
48
|
VxeUI.version = version;
|
|
49
49
|
VxeUI.tableVersion = version;
|
|
50
50
|
VxeUI.setConfig({
|
|
@@ -242,9 +242,11 @@ VxeUI.setConfig({
|
|
|
242
242
|
},
|
|
243
243
|
editConfig: {
|
|
244
244
|
// mode: 'cell',
|
|
245
|
+
// cache: true,
|
|
245
246
|
showIcon: true,
|
|
246
247
|
showAsterisk: true,
|
|
247
|
-
autoFocus: true
|
|
248
|
+
autoFocus: true,
|
|
249
|
+
isReuseKeep: true
|
|
248
250
|
},
|
|
249
251
|
importConfig: {
|
|
250
252
|
_typeMaps: {
|
|
@@ -758,7 +760,7 @@ function wheelScrollTopTo(diffNum, cb) {
|
|
|
758
760
|
}
|
|
759
761
|
|
|
760
762
|
const { log } = VxeUI;
|
|
761
|
-
const tableVersion = `table v${"4.
|
|
763
|
+
const tableVersion = `table v${"4.21.0-beta.0"}`;
|
|
762
764
|
function createComponentLog(name) {
|
|
763
765
|
const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
|
|
764
766
|
const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
|
|
@@ -2344,7 +2346,11 @@ function renderHeaderHandle(params) {
|
|
|
2344
2346
|
const { column, $table } = params;
|
|
2345
2347
|
const tableProps = $table.props;
|
|
2346
2348
|
const { editConfig } = tableProps;
|
|
2347
|
-
const { type, filters, sortable, editRender } = column;
|
|
2349
|
+
const { type, filters, sortable, editRender, slots } = column;
|
|
2350
|
+
const headerSlot = slots ? slots.header : null;
|
|
2351
|
+
if (headerSlot) {
|
|
2352
|
+
return renderTitleContent(params, $table.callSlot(headerSlot, params));
|
|
2353
|
+
}
|
|
2348
2354
|
switch (type) {
|
|
2349
2355
|
case 'seq':
|
|
2350
2356
|
return Cell.renderSeqHeader(params);
|
|
@@ -2403,11 +2409,7 @@ const Cell = {
|
|
|
2403
2409
|
const { $table, column } = params;
|
|
2404
2410
|
const tableProps = $table.props;
|
|
2405
2411
|
const { editConfig } = tableProps;
|
|
2406
|
-
const {
|
|
2407
|
-
const headerSlot = slots ? slots.header : null;
|
|
2408
|
-
if (headerSlot) {
|
|
2409
|
-
return renderTitleContent(params, $table.callSlot(headerSlot, params));
|
|
2410
|
-
}
|
|
2412
|
+
const { editRender, cellRender } = column;
|
|
2411
2413
|
const isEnableEdit = editConfig && isEnableConf(editConfig);
|
|
2412
2414
|
const editRenderOpts = isEnableEdit && isEnableConf(editRender) ? editRender : null;
|
|
2413
2415
|
const cellRenderOpts = isEnableConf(cellRender) ? cellRender : null;
|
|
@@ -2680,9 +2682,7 @@ const Cell = {
|
|
|
2680
2682
|
*/
|
|
2681
2683
|
renderSeqHeader(params) {
|
|
2682
2684
|
const { $table, column } = params;
|
|
2683
|
-
|
|
2684
|
-
const headerSlot = slots ? slots.header : null;
|
|
2685
|
-
return renderHeaderCellBaseVNs(params, renderTitleContent(params, headerSlot ? $table.callSlot(headerSlot, params) : $table.getHeaderCellLabel(column)));
|
|
2685
|
+
return renderHeaderCellBaseVNs(params, renderTitleContent(params, $table.getHeaderCellLabel(column)));
|
|
2686
2686
|
},
|
|
2687
2687
|
renderSeqCell(params) {
|
|
2688
2688
|
const { $table, column } = params;
|
|
@@ -2710,15 +2710,12 @@ const Cell = {
|
|
|
2710
2710
|
renderRadioHeader(params) {
|
|
2711
2711
|
const { $table, column } = params;
|
|
2712
2712
|
const { slots } = column;
|
|
2713
|
-
const headerSlot = slots ? slots.header : null;
|
|
2714
2713
|
const titleSlot = slots ? slots.title : null;
|
|
2715
|
-
return renderHeaderCellBaseVNs(params, renderTitleContent(params,
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
}, titleSlot ? $table.callSlot(titleSlot, params) : $table.getHeaderCellLabel(column))
|
|
2721
|
-
]));
|
|
2714
|
+
return renderHeaderCellBaseVNs(params, renderTitleContent(params, [
|
|
2715
|
+
h('span', {
|
|
2716
|
+
class: 'vxe-radio--label'
|
|
2717
|
+
}, titleSlot ? $table.callSlot(titleSlot, params) : $table.getHeaderCellLabel(column))
|
|
2718
|
+
]));
|
|
2722
2719
|
},
|
|
2723
2720
|
renderRadioCell(params) {
|
|
2724
2721
|
const { $table, column, isHidden } = params;
|
|
@@ -2782,7 +2779,6 @@ const Cell = {
|
|
|
2782
2779
|
const { isAllSelected: isAllCheckboxSelected, isIndeterminate: isAllCheckboxIndeterminate } = tableReactData;
|
|
2783
2780
|
const isAllCheckboxDisabled = computeIsAllCheckboxDisabled.value;
|
|
2784
2781
|
const { slots } = column;
|
|
2785
|
-
const headerSlot = slots ? slots.header : null;
|
|
2786
2782
|
const titleSlot = slots ? slots.title : null;
|
|
2787
2783
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
2788
2784
|
const { checkStrictly, showHeader, headerTitle } = checkboxOpts;
|
|
@@ -2796,9 +2792,6 @@ const Cell = {
|
|
|
2796
2792
|
};
|
|
2797
2793
|
}
|
|
2798
2794
|
const checkboxParams = Object.assign(Object.assign({}, params), { checked: isAllCheckboxSelected, disabled: isAllCheckboxDisabled, indeterminate: isAllCheckboxIndeterminate });
|
|
2799
|
-
if (headerSlot) {
|
|
2800
|
-
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, $table.callSlot(headerSlot, checkboxParams)));
|
|
2801
|
-
}
|
|
2802
2795
|
if (checkStrictly ? !showHeader : showHeader === false) {
|
|
2803
2796
|
return renderHeaderCellBaseVNs(params, renderTitleContent(checkboxParams, [
|
|
2804
2797
|
h('span', {
|
|
@@ -9778,14 +9771,14 @@ hooks$5.add('tableEditModule', {
|
|
|
9778
9771
|
const { isFocus, isPos, isClear } = options;
|
|
9779
9772
|
const cell = (params.cell || $xeTable.getCellElement(row, column));
|
|
9780
9773
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
9781
|
-
|
|
9774
|
+
const editParams = Object.assign(Object.assign({}, params), { cell });
|
|
9782
9775
|
if (cell && isEnableConf(editConfig) && isEnableConf(editRender)) {
|
|
9783
9776
|
// 激活编辑
|
|
9784
9777
|
if (!$xeTable.isPendingByRow(row) && !$xeTable.isAggregateRecord(row)) {
|
|
9785
9778
|
if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
|
|
9786
9779
|
// 判断是否禁用编辑
|
|
9787
9780
|
let type = 'edit-disabled';
|
|
9788
|
-
if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({},
|
|
9781
|
+
if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, editParams), { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }))) {
|
|
9789
9782
|
if (mouseConfig) {
|
|
9790
9783
|
$xeTable.clearSelected();
|
|
9791
9784
|
if ($xeTable.clearCellAreas) {
|
|
@@ -9799,7 +9792,7 @@ hooks$5.add('tableEditModule', {
|
|
|
9799
9792
|
}
|
|
9800
9793
|
type = 'edit-activated';
|
|
9801
9794
|
column.renderHeight = cell.offsetHeight;
|
|
9802
|
-
actived.args =
|
|
9795
|
+
actived.args = editParams;
|
|
9803
9796
|
actived.row = row;
|
|
9804
9797
|
actived.column = column;
|
|
9805
9798
|
$xeTable.handlePushStack();
|
|
@@ -9815,10 +9808,10 @@ hooks$5.add('tableEditModule', {
|
|
|
9815
9808
|
const afterEditMethod = editOpts.afterEditMethod;
|
|
9816
9809
|
nextTick(() => {
|
|
9817
9810
|
if (isFocus) {
|
|
9818
|
-
$xeTable.handleFocus(
|
|
9811
|
+
$xeTable.handleFocus(editParams, evnt);
|
|
9819
9812
|
}
|
|
9820
9813
|
if (afterEditMethod) {
|
|
9821
|
-
afterEditMethod(Object.assign(Object.assign({},
|
|
9814
|
+
afterEditMethod(Object.assign(Object.assign({}, editParams), { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }));
|
|
9822
9815
|
}
|
|
9823
9816
|
});
|
|
9824
9817
|
}
|
|
@@ -9861,11 +9854,11 @@ hooks$5.add('tableEditModule', {
|
|
|
9861
9854
|
}
|
|
9862
9855
|
}
|
|
9863
9856
|
column.renderHeight = cell.offsetHeight;
|
|
9864
|
-
actived.args =
|
|
9857
|
+
actived.args = editParams;
|
|
9865
9858
|
actived.column = column;
|
|
9866
9859
|
if (isPos) {
|
|
9867
9860
|
setTimeout(() => {
|
|
9868
|
-
$xeTable.handleFocus(
|
|
9861
|
+
$xeTable.handleFocus(editParams, evnt);
|
|
9869
9862
|
});
|
|
9870
9863
|
}
|
|
9871
9864
|
}
|
|
@@ -9887,8 +9880,12 @@ hooks$5.add('tableEditModule', {
|
|
|
9887
9880
|
handleEditActive({
|
|
9888
9881
|
row,
|
|
9889
9882
|
rowIndex: $xeTable.getRowIndex(row),
|
|
9883
|
+
$rowIndex: $xeTable.getVMRowIndex(row),
|
|
9884
|
+
_rowIndex: $xeTable.getVTRowIndex(row),
|
|
9890
9885
|
column,
|
|
9891
9886
|
columnIndex: $xeTable.getColumnIndex(column),
|
|
9887
|
+
$columnIndex: $xeTable.getVMColumnIndex(column),
|
|
9888
|
+
_columnIndex: $xeTable.getVTColumnIndex(column),
|
|
9892
9889
|
cell,
|
|
9893
9890
|
$table: $xeTable
|
|
9894
9891
|
}, null, {
|
|
@@ -10298,18 +10295,62 @@ hooks$5.add('tableEditModule', {
|
|
|
10298
10295
|
if (rowIndex > -1 && column) {
|
|
10299
10296
|
const cell = $xeTable.getCellElement(row, column);
|
|
10300
10297
|
const params = {
|
|
10298
|
+
$table: $xeTable,
|
|
10301
10299
|
row,
|
|
10302
10300
|
rowIndex,
|
|
10301
|
+
$rowIndex: $xeTable.getVMRowIndex(row),
|
|
10302
|
+
_rowIndex: $xeTable.getVTRowIndex(row),
|
|
10303
10303
|
column,
|
|
10304
10304
|
columnIndex: $xeTable.getColumnIndex(column),
|
|
10305
|
+
$columnIndex: $xeTable.getVMColumnIndex(column),
|
|
10306
|
+
_columnIndex: $xeTable.getVTColumnIndex(column),
|
|
10305
10307
|
cell
|
|
10306
10308
|
};
|
|
10307
|
-
$xeTable.handleSelected(params,
|
|
10309
|
+
$xeTable.handleSelected(params, null);
|
|
10308
10310
|
}
|
|
10309
10311
|
}
|
|
10310
10312
|
return nextTick();
|
|
10311
10313
|
}
|
|
10312
10314
|
};
|
|
10315
|
+
const handleCellFocus = (cell, params) => {
|
|
10316
|
+
const { editConfig } = props;
|
|
10317
|
+
const { column } = params;
|
|
10318
|
+
const { editRender } = column;
|
|
10319
|
+
const editOpts = computeEditOpts.value;
|
|
10320
|
+
if (editConfig && isEnableConf(editRender)) {
|
|
10321
|
+
const compRender = renderer$4.get(editRender.name);
|
|
10322
|
+
let autoFocus = editRender.autofocus || editRender.autoFocus;
|
|
10323
|
+
let autoSelect = editRender.autoSelect || editRender.autoselect;
|
|
10324
|
+
let inputElem = null;
|
|
10325
|
+
// 是否启用聚焦
|
|
10326
|
+
if (editOpts.autoFocus) {
|
|
10327
|
+
if (!autoFocus && compRender) {
|
|
10328
|
+
autoFocus = compRender.tableAutoFocus || compRender.tableAutofocus || compRender.autofocus;
|
|
10329
|
+
}
|
|
10330
|
+
if (!autoSelect && compRender) {
|
|
10331
|
+
autoSelect = compRender.tableAutoSelect || compRender.autoselect;
|
|
10332
|
+
}
|
|
10333
|
+
// 如果指定了聚焦 class
|
|
10334
|
+
if (XEUtils.isFunction(autoFocus)) {
|
|
10335
|
+
inputElem = autoFocus(params);
|
|
10336
|
+
}
|
|
10337
|
+
else if (autoFocus) {
|
|
10338
|
+
if (autoFocus === true) {
|
|
10339
|
+
// 自动匹配模式,会自动匹配第一个可输入元素
|
|
10340
|
+
inputElem = cell.querySelector('input,textarea');
|
|
10341
|
+
}
|
|
10342
|
+
else {
|
|
10343
|
+
inputElem = cell.querySelector(autoFocus);
|
|
10344
|
+
}
|
|
10345
|
+
if (inputElem) {
|
|
10346
|
+
inputElem.focus();
|
|
10347
|
+
}
|
|
10348
|
+
}
|
|
10349
|
+
}
|
|
10350
|
+
return inputElem;
|
|
10351
|
+
}
|
|
10352
|
+
return null;
|
|
10353
|
+
};
|
|
10313
10354
|
editPrivateMethods = {
|
|
10314
10355
|
/**
|
|
10315
10356
|
* 处理激活编辑
|
|
@@ -10332,6 +10373,7 @@ hooks$5.add('tableEditModule', {
|
|
|
10332
10373
|
* @returns
|
|
10333
10374
|
*/
|
|
10334
10375
|
handleClearEdit,
|
|
10376
|
+
handleCellFocus,
|
|
10335
10377
|
/**
|
|
10336
10378
|
* 处理聚焦
|
|
10337
10379
|
*/
|
|
@@ -10340,35 +10382,8 @@ hooks$5.add('tableEditModule', {
|
|
|
10340
10382
|
const { editRender } = column;
|
|
10341
10383
|
const editOpts = computeEditOpts.value;
|
|
10342
10384
|
if (isEnableConf(editRender)) {
|
|
10343
|
-
const
|
|
10344
|
-
|
|
10345
|
-
let autoSelect = editRender.autoSelect || editRender.autoselect;
|
|
10346
|
-
let inputElem;
|
|
10347
|
-
// 是否启用聚焦
|
|
10348
|
-
if (editOpts.autoFocus) {
|
|
10349
|
-
if (!autoFocus && compRender) {
|
|
10350
|
-
autoFocus = compRender.tableAutoFocus || compRender.tableAutofocus || compRender.autofocus;
|
|
10351
|
-
}
|
|
10352
|
-
if (!autoSelect && compRender) {
|
|
10353
|
-
autoSelect = compRender.tableAutoSelect || compRender.autoselect;
|
|
10354
|
-
}
|
|
10355
|
-
// 如果指定了聚焦 class
|
|
10356
|
-
if (XEUtils.isFunction(autoFocus)) {
|
|
10357
|
-
inputElem = autoFocus(params);
|
|
10358
|
-
}
|
|
10359
|
-
else if (autoFocus) {
|
|
10360
|
-
if (autoFocus === true) {
|
|
10361
|
-
// 自动匹配模式,会自动匹配第一个可输入元素
|
|
10362
|
-
inputElem = cell.querySelector('input,textarea');
|
|
10363
|
-
}
|
|
10364
|
-
else {
|
|
10365
|
-
inputElem = cell.querySelector(autoFocus);
|
|
10366
|
-
}
|
|
10367
|
-
if (inputElem) {
|
|
10368
|
-
inputElem.focus();
|
|
10369
|
-
}
|
|
10370
|
-
}
|
|
10371
|
-
}
|
|
10385
|
+
const autoSelect = editRender.autoSelect || editRender.autoselect;
|
|
10386
|
+
const inputElem = handleCellFocus(cell, params);
|
|
10372
10387
|
if (inputElem) {
|
|
10373
10388
|
if (autoSelect) {
|
|
10374
10389
|
inputElem.select();
|
|
@@ -10397,7 +10412,7 @@ hooks$5.add('tableEditModule', {
|
|
|
10397
10412
|
* 处理选中源
|
|
10398
10413
|
*/
|
|
10399
10414
|
handleSelected(params, evnt) {
|
|
10400
|
-
const { mouseConfig } = props;
|
|
10415
|
+
const { mouseConfig, editConfig } = props;
|
|
10401
10416
|
const { editStore } = reactData;
|
|
10402
10417
|
const mouseOpts = computeMouseOpts.value;
|
|
10403
10418
|
const editOpts = computeEditOpts.value;
|
|
@@ -10420,6 +10435,18 @@ hooks$5.add('tableEditModule', {
|
|
|
10420
10435
|
editPrivateMethods.addCellSelectedClass();
|
|
10421
10436
|
}
|
|
10422
10437
|
$xeTable.focus();
|
|
10438
|
+
// 如果是支持可复用控件
|
|
10439
|
+
if (editConfig && editOpts.isReuseKeep && isEnableConf(editOpts) && isEnableConf(column.editRender)) {
|
|
10440
|
+
setTimeout(() => {
|
|
10441
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
10442
|
+
if (cell) {
|
|
10443
|
+
const hasReusekeep = cell.querySelector('.vxe-reusekeep-control');
|
|
10444
|
+
if (hasReusekeep) {
|
|
10445
|
+
handleCellFocus(cell, params);
|
|
10446
|
+
}
|
|
10447
|
+
}
|
|
10448
|
+
}, 0);
|
|
10449
|
+
}
|
|
10423
10450
|
if (evnt) {
|
|
10424
10451
|
$xeTable.dispatchEvent('cell-selected', params, evnt);
|
|
10425
10452
|
}
|
|
@@ -12616,8 +12643,8 @@ hooks$3.add('tableKeyboardModule', {
|
|
|
12616
12643
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
12617
12644
|
const mouseOpts = computeMouseOpts.value;
|
|
12618
12645
|
const editOpts = computeEditOpts.value;
|
|
12619
|
-
if (mouseConfig && mouseOpts.area && $xeTable.
|
|
12620
|
-
return $xeTable.
|
|
12646
|
+
if (mouseConfig && mouseOpts.area && $xeTable.triggerClAreaMnEvent) {
|
|
12647
|
+
return $xeTable.triggerClAreaMnEvent(evnt, params);
|
|
12621
12648
|
}
|
|
12622
12649
|
else {
|
|
12623
12650
|
if (checkboxConfig && checkboxOpts.range) {
|
|
@@ -14032,6 +14059,7 @@ function getCellLabelVNs(renderOpts, params, cellLabel, opts) {
|
|
|
14032
14059
|
const { placeholder } = renderOpts;
|
|
14033
14060
|
return [
|
|
14034
14061
|
h('span', {
|
|
14062
|
+
key: 1,
|
|
14035
14063
|
class: ['vxe-cell--label', opts ? opts.class : '']
|
|
14036
14064
|
}, placeholder && isEmptyValue(cellLabel)
|
|
14037
14065
|
? [
|
|
@@ -14297,16 +14325,26 @@ function getNativeFilterOns(renderOpts, params, option) {
|
|
|
14297
14325
|
}
|
|
14298
14326
|
});
|
|
14299
14327
|
}
|
|
14328
|
+
function nativeInputCellRender(renderOpts, renderParams) {
|
|
14329
|
+
const { row, column } = renderParams;
|
|
14330
|
+
const cellValue = XEUtils.get(row, column.field);
|
|
14331
|
+
const cellVNs = [
|
|
14332
|
+
h('span', {
|
|
14333
|
+
key: 1
|
|
14334
|
+
}, cellValue)
|
|
14335
|
+
];
|
|
14336
|
+
return getNativeInputRenderCellVNs(cellValue, cellVNs, renderOpts, renderParams);
|
|
14337
|
+
}
|
|
14300
14338
|
/**
|
|
14301
14339
|
* 单元格可编辑渲染-原生的标签
|
|
14302
|
-
* input、textarea
|
|
14340
|
+
* input、textarea
|
|
14303
14341
|
*/
|
|
14304
|
-
function
|
|
14305
|
-
const { row, column } =
|
|
14342
|
+
function nativeInputEditRender(renderOpts, renderParams) {
|
|
14343
|
+
const { row, column } = renderParams;
|
|
14306
14344
|
const { name } = renderOpts;
|
|
14307
|
-
const cellValue = isImmediateCell(renderOpts,
|
|
14345
|
+
const cellValue = isImmediateCell(renderOpts, renderParams) ? getCellValue(row, column) : column.model.value;
|
|
14308
14346
|
return [
|
|
14309
|
-
h(
|
|
14347
|
+
h('' + name, Object.assign(Object.assign(Object.assign({ key: 2, class: `vxe-default-${name}` }, getNativeAttrs(renderOpts)), { value: cellValue }), getNativeEditOns(renderOpts, renderParams)))
|
|
14310
14348
|
];
|
|
14311
14349
|
}
|
|
14312
14350
|
function buttonCellRender(renderOpts, params) {
|
|
@@ -14314,6 +14352,13 @@ function buttonCellRender(renderOpts, params) {
|
|
|
14314
14352
|
h(getDefaultComponent(renderOpts), Object.assign(Object.assign({}, getCellEditProps(renderOpts, params, null)), getComponentOns(renderOpts, params)))
|
|
14315
14353
|
];
|
|
14316
14354
|
}
|
|
14355
|
+
function defaultInputEditRender(renderOpts, params) {
|
|
14356
|
+
const { row, column } = params;
|
|
14357
|
+
const cellValue = getCellValue(row, column);
|
|
14358
|
+
return [
|
|
14359
|
+
h(getDefaultComponent(renderOpts), Object.assign(Object.assign({ key: 2 }, getCellEditProps(renderOpts, params, cellValue)), getEditOns(renderOpts, params)))
|
|
14360
|
+
];
|
|
14361
|
+
}
|
|
14317
14362
|
function defaultEditRender(renderOpts, params) {
|
|
14318
14363
|
const { row, column } = params;
|
|
14319
14364
|
const cellValue = getCellValue(row, column);
|
|
@@ -14555,11 +14600,9 @@ function handleExportTreeSelectMethod(params) {
|
|
|
14555
14600
|
const { row, column, options } = params;
|
|
14556
14601
|
return options.original ? getCellValue(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params);
|
|
14557
14602
|
}
|
|
14558
|
-
function handleNumberCell(renderOpts, params) {
|
|
14603
|
+
function handleNumberCell(cellValue, renderOpts, params) {
|
|
14559
14604
|
const { props = {}, showNegativeStatus } = renderOpts;
|
|
14560
|
-
const { row, column } = params;
|
|
14561
14605
|
const { type } = props;
|
|
14562
|
-
let cellValue = XEUtils.get(row, column.field);
|
|
14563
14606
|
let isNegative = false;
|
|
14564
14607
|
if (!isEmptyValue(cellValue)) {
|
|
14565
14608
|
const numberInputConfig = getConfig$3().numberInput || {};
|
|
@@ -14710,21 +14753,79 @@ function handleSetTreeSelectValue(renderOpts, params) {
|
|
|
14710
14753
|
XEUtils.set(row, field, cellValue);
|
|
14711
14754
|
}
|
|
14712
14755
|
}
|
|
14756
|
+
function getNativeInputRenderCellVNs(cellValue, labelVNs, renderOpts, renderParams) {
|
|
14757
|
+
const { $table, row, column } = renderParams;
|
|
14758
|
+
const { name } = renderOpts;
|
|
14759
|
+
const tableProps = $table.props;
|
|
14760
|
+
const { editConfig, mouseConfig } = tableProps;
|
|
14761
|
+
let isColSelected = false;
|
|
14762
|
+
let isActiveCellArea = false;
|
|
14763
|
+
if (editConfig && mouseConfig) {
|
|
14764
|
+
const tableReactData = $table.reactData;
|
|
14765
|
+
const { editStore } = tableReactData;
|
|
14766
|
+
const { selected } = editStore;
|
|
14767
|
+
isColSelected = row === selected.row && column === selected.column;
|
|
14768
|
+
if ($table.getActiveCellArea) {
|
|
14769
|
+
const activeCellArea = $table.getActiveCellArea();
|
|
14770
|
+
if (activeCellArea) {
|
|
14771
|
+
isActiveCellArea = row === activeCellArea.row && column === activeCellArea.column;
|
|
14772
|
+
}
|
|
14773
|
+
}
|
|
14774
|
+
}
|
|
14775
|
+
const cellVNs = labelVNs;
|
|
14776
|
+
if (isActiveCellArea || isColSelected) {
|
|
14777
|
+
cellVNs.push(h('' + name, Object.assign(Object.assign({ key: 2, class: `vxe-default-${name} vxe-reusekeep-control`, value: cellValue }, getNativeAttrs(renderOpts)), getNativeEditOns(renderOpts, renderParams))));
|
|
14778
|
+
}
|
|
14779
|
+
return cellVNs;
|
|
14780
|
+
}
|
|
14781
|
+
function getInputRenderCellVNs(cellValue, labelVNs, renderOpts, renderParams) {
|
|
14782
|
+
const { $table, row, column } = renderParams;
|
|
14783
|
+
const tableProps = $table.props;
|
|
14784
|
+
const { editConfig, mouseConfig } = tableProps;
|
|
14785
|
+
let isColSelected = false;
|
|
14786
|
+
let isActiveCellArea = false;
|
|
14787
|
+
if (editConfig && mouseConfig) {
|
|
14788
|
+
const tableReactData = $table.reactData;
|
|
14789
|
+
const { editStore } = tableReactData;
|
|
14790
|
+
const { computeEditOpts } = $table.getComputeMaps();
|
|
14791
|
+
const editOpts = computeEditOpts.value;
|
|
14792
|
+
if (editOpts.isReuseKeep) {
|
|
14793
|
+
const { selected } = editStore;
|
|
14794
|
+
isColSelected = row === selected.row && column === selected.column;
|
|
14795
|
+
if ($table.getActiveCellArea) {
|
|
14796
|
+
const activeCellArea = $table.getActiveCellArea();
|
|
14797
|
+
if (activeCellArea) {
|
|
14798
|
+
isActiveCellArea = row === activeCellArea.row && column === activeCellArea.column;
|
|
14799
|
+
}
|
|
14800
|
+
}
|
|
14801
|
+
}
|
|
14802
|
+
}
|
|
14803
|
+
const cellVNs = labelVNs;
|
|
14804
|
+
if (isActiveCellArea || isColSelected) {
|
|
14805
|
+
const compProps = getCellEditProps(renderOpts, renderParams, cellValue);
|
|
14806
|
+
const { className, inputClassName } = compProps;
|
|
14807
|
+
cellVNs.push(h(getDefaultComponent(renderOpts), Object.assign(Object.assign(Object.assign({ key: 2 }, compProps), { className: 'vxe-reusekeep-control' + (className ? (' ' + className) : ''), inputClassName: 'vxe-reusekeep-control' + (inputClassName ? (' ' + inputClassName) : '') }), getEditOns(renderOpts, renderParams))));
|
|
14808
|
+
}
|
|
14809
|
+
return cellVNs;
|
|
14810
|
+
}
|
|
14713
14811
|
/**
|
|
14714
14812
|
* 表格 - 渲染器
|
|
14715
14813
|
*/
|
|
14716
14814
|
renderer$2.mixin({
|
|
14717
14815
|
input: {
|
|
14718
14816
|
tableAutoFocus: true,
|
|
14719
|
-
renderTableEdit:
|
|
14720
|
-
|
|
14817
|
+
renderTableEdit: nativeInputEditRender,
|
|
14818
|
+
renderTableCell: nativeInputCellRender,
|
|
14819
|
+
renderTableDefault: nativeInputEditRender,
|
|
14721
14820
|
createTableFilterOptions: defaultFilterOptions,
|
|
14722
14821
|
renderTableFilter: nativeFilterRender,
|
|
14723
14822
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
14724
14823
|
},
|
|
14725
14824
|
textarea: {
|
|
14726
14825
|
tableAutoFocus: true,
|
|
14727
|
-
renderTableEdit:
|
|
14826
|
+
renderTableEdit: nativeInputEditRender,
|
|
14827
|
+
renderTableCell: nativeInputCellRender,
|
|
14828
|
+
renderTableDefault: nativeInputEditRender
|
|
14728
14829
|
},
|
|
14729
14830
|
select: {
|
|
14730
14831
|
renderTableEdit: nativeSelectEditRender,
|
|
@@ -14764,10 +14865,10 @@ renderer$2.mixin({
|
|
|
14764
14865
|
},
|
|
14765
14866
|
VxeInput: {
|
|
14766
14867
|
tableAutoFocus: true,
|
|
14767
|
-
renderTableEdit:
|
|
14768
|
-
renderTableCell(renderOpts,
|
|
14868
|
+
renderTableEdit: defaultInputEditRender,
|
|
14869
|
+
renderTableCell(renderOpts, renderParams) {
|
|
14769
14870
|
const { props = {} } = renderOpts;
|
|
14770
|
-
const { row, column } =
|
|
14871
|
+
const { row, column } = renderParams;
|
|
14771
14872
|
const inputConfig = getConfig$3().input || {};
|
|
14772
14873
|
const digits = props.digits || inputConfig.digits || 2;
|
|
14773
14874
|
let cellValue = XEUtils.get(row, column.field);
|
|
@@ -14785,16 +14886,21 @@ renderer$2.mixin({
|
|
|
14785
14886
|
break;
|
|
14786
14887
|
}
|
|
14787
14888
|
}
|
|
14788
|
-
|
|
14889
|
+
const cellVNs = getCellLabelVNs(renderOpts, renderParams, cellValue);
|
|
14890
|
+
return getInputRenderCellVNs(cellValue, cellVNs, renderOpts, renderParams);
|
|
14789
14891
|
},
|
|
14790
|
-
renderTableDefault:
|
|
14892
|
+
renderTableDefault: defaultInputEditRender,
|
|
14791
14893
|
createTableFilterOptions: defaultFilterOptions,
|
|
14792
14894
|
renderTableFilter: defaultFilterRender,
|
|
14793
14895
|
renderTableFloatingFilter: defaultFloatingFilterRender,
|
|
14794
14896
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
14795
14897
|
},
|
|
14796
14898
|
FormatNumberInput: {
|
|
14797
|
-
renderTableDefault
|
|
14899
|
+
renderTableDefault(renderOpts, renderParams) {
|
|
14900
|
+
const { row, column } = renderParams;
|
|
14901
|
+
const cellValue = XEUtils.get(row, column.field);
|
|
14902
|
+
return handleNumberCell(cellValue, renderOpts, renderParams);
|
|
14903
|
+
},
|
|
14798
14904
|
tableFilterDefaultMethod({ option, row, column }) {
|
|
14799
14905
|
const { data } = option;
|
|
14800
14906
|
const cellValue = XEUtils.get(row, column.field);
|
|
@@ -14809,8 +14915,13 @@ renderer$2.mixin({
|
|
|
14809
14915
|
},
|
|
14810
14916
|
VxeNumberInput: {
|
|
14811
14917
|
tableAutoFocus: true,
|
|
14812
|
-
renderTableEdit:
|
|
14813
|
-
renderTableCell
|
|
14918
|
+
renderTableEdit: defaultInputEditRender,
|
|
14919
|
+
renderTableCell(renderOpts, renderParams) {
|
|
14920
|
+
const { row, column } = renderParams;
|
|
14921
|
+
const cellValue = XEUtils.get(row, column.field);
|
|
14922
|
+
const cellVNs = handleNumberCell(cellValue, renderOpts, renderParams);
|
|
14923
|
+
return getInputRenderCellVNs(cellValue, cellVNs, renderOpts, renderParams);
|
|
14924
|
+
},
|
|
14814
14925
|
renderTableFooter(renderOpts, params) {
|
|
14815
14926
|
const { props = {} } = renderOpts;
|
|
14816
14927
|
const { row, column, _columnIndex } = params;
|
|
@@ -14848,7 +14959,7 @@ renderer$2.mixin({
|
|
|
14848
14959
|
}
|
|
14849
14960
|
return getFuncText(itemValue, 1);
|
|
14850
14961
|
},
|
|
14851
|
-
renderTableDefault:
|
|
14962
|
+
renderTableDefault: defaultInputEditRender,
|
|
14852
14963
|
createTableFilterOptions: defaultFilterOptions,
|
|
14853
14964
|
renderTableFilter: defaultFilterRender,
|
|
14854
14965
|
renderTableFloatingFilter: defaultFloatingFilterRender,
|
|
@@ -14992,13 +15103,14 @@ renderer$2.mixin({
|
|
|
14992
15103
|
},
|
|
14993
15104
|
VxeTextarea: {
|
|
14994
15105
|
tableAutoFocus: true,
|
|
14995
|
-
renderTableDefault:
|
|
14996
|
-
|
|
14997
|
-
|
|
14998
|
-
const { row, column } = params;
|
|
15106
|
+
renderTableDefault: defaultInputEditRender,
|
|
15107
|
+
renderTableCell(renderOpts, renderParams) {
|
|
15108
|
+
const { row, column } = renderParams;
|
|
14999
15109
|
const cellValue = XEUtils.get(row, column.field);
|
|
15000
|
-
|
|
15001
|
-
|
|
15110
|
+
const cellVNs = getCellLabelVNs(renderOpts, renderParams, cellValue);
|
|
15111
|
+
return getInputRenderCellVNs(cellValue, cellVNs, renderOpts, renderParams);
|
|
15112
|
+
},
|
|
15113
|
+
renderTableEdit: defaultInputEditRender
|
|
15002
15114
|
},
|
|
15003
15115
|
VxeButton: {
|
|
15004
15116
|
renderTableDefault: buttonCellRender
|
|
@@ -23773,8 +23885,8 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23773
23885
|
if (isEsc) {
|
|
23774
23886
|
$xeTable.preventEvent(evnt, 'event.keydown', null, () => {
|
|
23775
23887
|
dispatchEvent('keydown-start', {}, evnt);
|
|
23776
|
-
if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.
|
|
23777
|
-
$xeTable.
|
|
23888
|
+
if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
23889
|
+
$xeTable.handleKdClAreaEvent(evnt);
|
|
23778
23890
|
}
|
|
23779
23891
|
else if (actived.row || filterStore.visible || ctxMenuStore.visible) {
|
|
23780
23892
|
evnt.stopPropagation();
|
|
@@ -23826,6 +23938,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23826
23938
|
const { selected, actived } = editStore;
|
|
23827
23939
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
23828
23940
|
const keyCode = evnt.keyCode;
|
|
23941
|
+
const isProcess = globalEvents$1.hasKey(evnt, GLOBAL_EVENT_KEYS$1.PROCESS);
|
|
23829
23942
|
const isEsc = globalEvents$1.hasKey(evnt, GLOBAL_EVENT_KEYS$1.ESCAPE);
|
|
23830
23943
|
const hasBackspaceKey = globalEvents$1.hasKey(evnt, GLOBAL_EVENT_KEYS$1.BACKSPACE);
|
|
23831
23944
|
const isTab = globalEvents$1.hasKey(evnt, GLOBAL_EVENT_KEYS$1.TAB);
|
|
@@ -23847,6 +23960,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23847
23960
|
const operCtxMenu = isContentMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
|
|
23848
23961
|
const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row;
|
|
23849
23962
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
23963
|
+
const selectRow = selected.row;
|
|
23850
23964
|
const selectColumn = selected.column;
|
|
23851
23965
|
if (operCtxMenu) {
|
|
23852
23966
|
// 如果配置了右键菜单; 支持方向键操作、回车
|
|
@@ -23858,8 +23972,8 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23858
23972
|
$xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList);
|
|
23859
23973
|
}
|
|
23860
23974
|
}
|
|
23861
|
-
else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.
|
|
23862
|
-
$xeTable.
|
|
23975
|
+
else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
23976
|
+
$xeTable.handleKdClAreaEvent(evnt);
|
|
23863
23977
|
}
|
|
23864
23978
|
else if (isEsc) {
|
|
23865
23979
|
// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
@@ -23879,7 +23993,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23879
23993
|
}
|
|
23880
23994
|
}
|
|
23881
23995
|
}
|
|
23882
|
-
else if (isSpacebar && keyboardConfig && keyboardOpts.isChecked &&
|
|
23996
|
+
else if (isSpacebar && keyboardConfig && keyboardOpts.isChecked && selectRow && selectColumn && (selectColumn.type === 'checkbox' || selectColumn.type === 'radio')) {
|
|
23883
23997
|
// 空格键支持选中复选框
|
|
23884
23998
|
evnt.preventDefault();
|
|
23885
23999
|
if (selectColumn.type === 'checkbox') {
|
|
@@ -23892,7 +24006,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23892
24006
|
else if (isF2 && isEnableConf(editConfig)) {
|
|
23893
24007
|
if (!isEditStatus) {
|
|
23894
24008
|
// 如果按下了 F2 键
|
|
23895
|
-
if (
|
|
24009
|
+
if (selectRow && selectColumn) {
|
|
23896
24010
|
evnt.preventDefault();
|
|
23897
24011
|
$xeTable.handleEdit(selected.args, evnt);
|
|
23898
24012
|
}
|
|
@@ -23900,13 +24014,13 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23900
24014
|
}
|
|
23901
24015
|
else if (isContextMenu) {
|
|
23902
24016
|
// 如果按下上下文键
|
|
23903
|
-
internalData._keyCtx =
|
|
24017
|
+
internalData._keyCtx = selectRow && selectColumn && bodyMenu.length;
|
|
23904
24018
|
clearTimeout(internalData.keyCtxTimeout);
|
|
23905
24019
|
internalData.keyCtxTimeout = setTimeout(() => {
|
|
23906
24020
|
internalData._keyCtx = false;
|
|
23907
24021
|
}, 1000);
|
|
23908
24022
|
}
|
|
23909
|
-
else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (
|
|
24023
|
+
else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (selectRow || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
|
|
23910
24024
|
// 退出选中
|
|
23911
24025
|
if (isControlKey) {
|
|
23912
24026
|
// 如果是激活编辑状态,则取消编辑
|
|
@@ -23923,11 +24037,11 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
23923
24037
|
}
|
|
23924
24038
|
else {
|
|
23925
24039
|
// 如果是激活状态,退则出到上一行/下一行
|
|
23926
|
-
if (
|
|
23927
|
-
const activeRow =
|
|
24040
|
+
if (selectRow || actived.row) {
|
|
24041
|
+
const activeRow = selectRow || actived.row;
|
|
23928
24042
|
const activeColumn = selectColumn || actived.column;
|
|
23929
24043
|
if (activeColumn) {
|
|
23930
|
-
const activeParams =
|
|
24044
|
+
const activeParams = selectRow ? selected.args : actived.args;
|
|
23931
24045
|
if (hasShiftKey) {
|
|
23932
24046
|
if (keyboardOpts.enterToTab) {
|
|
23933
24047
|
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
@@ -24037,7 +24151,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
24037
24151
|
else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
|
|
24038
24152
|
if (!isEditStatus) {
|
|
24039
24153
|
// 如果按下了方向键
|
|
24040
|
-
if (mouseOpts.selected &&
|
|
24154
|
+
if (mouseOpts.selected && selectRow && selectColumn) {
|
|
24041
24155
|
$xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
24042
24156
|
}
|
|
24043
24157
|
else {
|
|
@@ -24054,11 +24168,11 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
24054
24168
|
}
|
|
24055
24169
|
else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
24056
24170
|
// 如果按下了 Tab 键切换
|
|
24057
|
-
if (
|
|
24058
|
-
const activeRow =
|
|
24171
|
+
if (selectRow || actived.row) {
|
|
24172
|
+
const activeRow = selectRow || actived.row;
|
|
24059
24173
|
const activeColumn = selectColumn || actived.column;
|
|
24060
24174
|
if (activeColumn) {
|
|
24061
|
-
const activeParams =
|
|
24175
|
+
const activeParams = selectRow ? selected.args : actived.args;
|
|
24062
24176
|
const _rowIndex = $xeTable.getVTRowIndex(activeRow);
|
|
24063
24177
|
const _columnIndex = $xeTable.getVTColumnIndex(activeColumn);
|
|
24064
24178
|
const ttrParams = {
|
|
@@ -24102,13 +24216,13 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
24102
24216
|
}
|
|
24103
24217
|
}
|
|
24104
24218
|
}
|
|
24105
|
-
else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (
|
|
24219
|
+
else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
24106
24220
|
// 如果是删除键
|
|
24107
24221
|
if (!isEditStatus) {
|
|
24108
24222
|
const { delMethod } = keyboardOpts;
|
|
24109
24223
|
const params = {
|
|
24110
|
-
row:
|
|
24111
|
-
rowIndex: $xeTable.getRowIndex(
|
|
24224
|
+
row: selectRow,
|
|
24225
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
24112
24226
|
column: selectColumn,
|
|
24113
24227
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
24114
24228
|
$table: $xeTable,
|
|
@@ -24121,10 +24235,10 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
24121
24235
|
delMethod(params);
|
|
24122
24236
|
}
|
|
24123
24237
|
else {
|
|
24124
|
-
const selectCellValue = getCellValue(
|
|
24238
|
+
const selectCellValue = getCellValue(selectRow, selectColumn);
|
|
24125
24239
|
if (selectCellValue !== null) {
|
|
24126
24240
|
$xeTable.handlePushStack();
|
|
24127
|
-
setCellValue(
|
|
24241
|
+
setCellValue(selectRow, selectColumn, null);
|
|
24128
24242
|
}
|
|
24129
24243
|
}
|
|
24130
24244
|
// 如果按下 del 键,更新表尾数据
|
|
@@ -24133,16 +24247,20 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
24133
24247
|
}
|
|
24134
24248
|
}
|
|
24135
24249
|
}
|
|
24136
|
-
else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (
|
|
24250
|
+
else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
24137
24251
|
if (!isEditStatus) {
|
|
24138
24252
|
const { backMethod } = keyboardOpts;
|
|
24139
24253
|
// 如果是删除键
|
|
24140
|
-
if (keyboardOpts.isDel && isEnableConf(editConfig) && (
|
|
24254
|
+
if (keyboardOpts.isDel && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
24141
24255
|
const params = {
|
|
24142
|
-
row:
|
|
24143
|
-
rowIndex: $xeTable.getRowIndex(
|
|
24256
|
+
row: selectRow,
|
|
24257
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
24258
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
24259
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
24144
24260
|
column: selectColumn,
|
|
24145
24261
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
24262
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
24263
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
24146
24264
|
$table: $xeTable,
|
|
24147
24265
|
$grid: $xeGrid,
|
|
24148
24266
|
$gantt: $xeGantt
|
|
@@ -24194,20 +24312,24 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
24194
24312
|
}
|
|
24195
24313
|
}
|
|
24196
24314
|
}
|
|
24197
|
-
else if (keyboardConfig && isEnableConf(editConfig) && keyboardOpts.isEdit && !isControlKey && (isSpacebar || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
|
|
24315
|
+
else if (keyboardConfig && isEnableConf(editConfig) && keyboardOpts.isEdit && !isControlKey && (isSpacebar || isProcess || evnt.key === 'Process' || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
|
|
24198
24316
|
const { editMode, editMethod } = keyboardOpts;
|
|
24199
24317
|
// 启用编辑后,空格键功能将失效
|
|
24200
24318
|
// if (isSpacebar) {
|
|
24201
24319
|
// evnt.preventDefault()
|
|
24202
24320
|
// }
|
|
24203
24321
|
// 如果是按下非功能键之外允许直接编辑
|
|
24204
|
-
if (selectColumn &&
|
|
24322
|
+
if (selectColumn && selectRow && isEnableConf(selectColumn.editRender)) {
|
|
24205
24323
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
24206
24324
|
const params = {
|
|
24207
|
-
row:
|
|
24208
|
-
rowIndex: $xeTable.getRowIndex(
|
|
24325
|
+
row: selectRow,
|
|
24326
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
24327
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
24328
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
24209
24329
|
column: selectColumn,
|
|
24210
24330
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
24331
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
24332
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
24211
24333
|
$table: $xeTable,
|
|
24212
24334
|
$grid: $xeGrid,
|
|
24213
24335
|
$gantt: $xeGantt
|
|
@@ -29852,7 +29974,7 @@ var VxeTableComponent = defineVxeComponent({
|
|
|
29852
29974
|
if (rowOpts.height && !props.showOverflow) {
|
|
29853
29975
|
warnLog$2('vxe.error.notProp', ['table.show-overflow']);
|
|
29854
29976
|
}
|
|
29855
|
-
if (!$xeTable.
|
|
29977
|
+
if (!$xeTable.triggerClAreaMnEvent) {
|
|
29856
29978
|
if (props.areaConfig) {
|
|
29857
29979
|
warnLog$2('vxe.error.notProp', ['area-config']);
|
|
29858
29980
|
}
|