diff --git a/blocksuite/affine/data-view/src/view-presets/kanban/mobile/cell.ts b/blocksuite/affine/data-view/src/view-presets/kanban/mobile/cell.ts index 189a97b057..9c31c96c2b 100644 --- a/blocksuite/affine/data-view/src/view-presets/kanban/mobile/cell.ts +++ b/blocksuite/affine/data-view/src/view-presets/kanban/mobile/cell.ts @@ -103,12 +103,12 @@ export class MobileKanbanCell extends SignalWatcher( this.disposables.add( effect(() => { const isEditing = this.isSelectionEditing$.value; - if (isEditing) { + if (isEditing && !this.isEditing$.peek()) { this.isEditing$.value = true; requestAnimationFrame(() => { this._cell.value?.afterEnterEditingMode(); }); - } else { + } else if (!isEditing && this.isEditing$.peek()) { this._cell.value?.beforeExitEditingMode(); this.isEditing$.value = false; } diff --git a/blocksuite/affine/data-view/src/view-presets/table/mobile/cell.ts b/blocksuite/affine/data-view/src/view-presets/table/mobile/cell.ts index 3cf3a5ded9..c934a00e23 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/mobile/cell.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/mobile/cell.ts @@ -105,13 +105,13 @@ export class MobileTableCell extends SignalWatcher( this.disposables.add( effect(() => { const isEditing = this.isSelectionEditing$.value; - if (isEditing) { + if (isEditing && !this.isEditing$.peek()) { this.isEditing$.value = true; const cell = this._cell.value; requestAnimationFrame(() => { cell?.afterEnterEditingMode(); }); - } else { + } else if (!isEditing && this.isEditing$.peek()) { this._cell.value?.beforeExitEditingMode(); this.isEditing$.value = false; }