From 13711e0912e477664471e22b50dd1a2bb2e503f9 Mon Sep 17 00:00:00 2001 From: Rui-Sun Date: Mon, 24 Jun 2024 14:48:19 +0800 Subject: [PATCH] fix: add editorManager judgement --- packages/vtable/src/event/listener/container-dom.ts | 8 ++++---- packages/vtable/src/event/listener/table-group.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/vtable/src/event/listener/container-dom.ts b/packages/vtable/src/event/listener/container-dom.ts index 5692fc524..5bab2c266 100644 --- a/packages/vtable/src/event/listener/container-dom.ts +++ b/packages/vtable/src/event/listener/container-dom.ts @@ -42,7 +42,7 @@ export function bindContainerDomListener(eventManager: EventManager) { ) { if ( !(table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) && - (table as ListTableAPI).editorManager.editingEditor + (table as ListTableAPI).editorManager?.editingEditor ) { // 编辑单元格状态下 如果没有开启方向键切换cell 则退出 。方向键可以在编辑input内移动光标 return; @@ -106,7 +106,7 @@ export function bindContainerDomListener(eventManager: EventManager) { table.selectCell(targetCol, targetRow, e.shiftKey); if ( (table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) && - (table as ListTableAPI).editorManager.editingEditor + (table as ListTableAPI).editorManager?.editingEditor ) { // 开启了方向键切换编辑单元格 并且当前已经在编辑状态下 切换到下一个需先退出再进入下个单元格的编辑 (table as ListTableAPI).editorManager.completeEdit(); @@ -119,7 +119,7 @@ export function bindContainerDomListener(eventManager: EventManager) { (table as ListTableAPI).editorManager.cancelEdit(); } else if (e.key === 'Enter') { // 如果按enter键 可以结束当前的编辑 或开启编辑选中的单元格(仅限单选) - if ((table as ListTableAPI).editorManager.editingEditor) { + if ((table as ListTableAPI).editorManager?.editingEditor) { (table as ListTableAPI).editorManager.completeEdit(); table.getElement().focus(); } else { @@ -156,7 +156,7 @@ export function bindContainerDomListener(eventManager: EventManager) { targetCol = stateManager.select.cellPos.col + 1; } table.selectCell(targetCol, targetRow); - if ((table as ListTableAPI).editorManager.editingEditor) { + if ((table as ListTableAPI).editorManager?.editingEditor) { (table as ListTableAPI).editorManager.completeEdit(); table.getElement().focus(); if ((table as ListTableAPI).getEditor(targetCol, targetRow)) { diff --git a/packages/vtable/src/event/listener/table-group.ts b/packages/vtable/src/event/listener/table-group.ts index 23a240ba3..b41964d52 100644 --- a/packages/vtable/src/event/listener/table-group.ts +++ b/packages/vtable/src/event/listener/table-group.ts @@ -42,7 +42,7 @@ export function bindTableGroupListener(eventManager: EventManager) { // } if ( stateManager.interactionState === InteractionState.grabing && - !(table as ListTableAPI).editorManager.editingEditor + !(table as ListTableAPI).editorManager?.editingEditor ) { if (Math.abs(lastX - e.x) + Math.abs(lastY - e.y) >= 1) { if (stateManager.isResizeCol()) { @@ -59,7 +59,7 @@ export function bindTableGroupListener(eventManager: EventManager) { } else if ( table.eventManager.isDraging && stateManager.isSelecting() && - !(table as ListTableAPI).editorManager.editingEditor + !(table as ListTableAPI).editorManager?.editingEditor ) { eventManager.dealTableSelect(eventArgsSet, true); }