diff --git a/common/changes/@visactor/vtable/fix-delete_exit_edit_2025-12-16-10-58.json b/common/changes/@visactor/vtable/fix-delete_exit_edit_2025-12-16-10-58.json new file mode 100644 index 0000000000..d2fcf6e484 --- /dev/null +++ b/common/changes/@visactor/vtable/fix-delete_exit_edit_2025-12-16-10-58.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "fix: delete key down should not complete edit cell\n\n", + "type": "none", + "packageName": "@visactor/vtable" + } + ], + "packageName": "@visactor/vtable", + "email": "892739385@qq.com" +} \ No newline at end of file diff --git a/packages/vtable-plugins/src/excel-edit-cell-keyboard.ts b/packages/vtable-plugins/src/excel-edit-cell-keyboard.ts index 278ca67855..54d04e6a32 100644 --- a/packages/vtable-plugins/src/excel-edit-cell-keyboard.ts +++ b/packages/vtable-plugins/src/excel-edit-cell-keyboard.ts @@ -75,7 +75,12 @@ export class ExcelEditCellKeyboardPlugin implements pluginsDefinition.IVTablePlu //判断是键盘触发编辑单元格的情况下,那么在编辑状态中切换方向需要选中下一个继续编辑 if (this.table.editorManager.editingEditor && this.table.editorManager.beginTriggerEditCellMode === 'keydown') { const { col, row } = this.table.editorManager.editCell; - this.table.editorManager.completeEdit(); + if (eventKey !== ExcelEditCellKeyboardResponse.BACKSPACE && eventKey !== ExcelEditCellKeyboardResponse.DELETE) { + this.table.editorManager.completeEdit(); + } else { + //如果输入了删除或退格键,应正常删除输入框内容 + return; + } this.table.getElement().focus(); if (!event.shiftKey && !event.ctrlKey && !event.metaKey) { //有这些配合键,则不进行选中下一个单元格的行为 执行vtable内部逻辑 diff --git a/packages/vtable-sheet/examples/sheet/sheet.ts b/packages/vtable-sheet/examples/sheet/sheet.ts index 3ac14635b6..053a8ff611 100644 --- a/packages/vtable-sheet/examples/sheet/sheet.ts +++ b/packages/vtable-sheet/examples/sheet/sheet.ts @@ -151,7 +151,7 @@ export function createTable() { }, { sheetKey: 'sheet5', - sheetTitle: 'Sheet 5', + sheetTitle: 'Sheet5', columnCount: 20, rowCount: 100, firstRowAsHeader: true,