From f3395b1937979236cade5d510c4ed62f1bfaa06a Mon Sep 17 00:00:00 2001 From: pubuzhixing8 Date: Thu, 21 Mar 2024 15:34:57 +0800 Subject: [PATCH] fix(core): invoke deleteBackward manually as inline void element --- .changeset/cold-dryers-carry.md | 5 +++++ packages/src/components/editable/editable.component.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/cold-dryers-carry.md diff --git a/.changeset/cold-dryers-carry.md b/.changeset/cold-dryers-carry.md new file mode 100644 index 0000000..e9e404d --- /dev/null +++ b/.changeset/cold-dryers-carry.md @@ -0,0 +1,5 @@ +--- +"slate-angular": patch +--- + +the beforeinput event will not fire while use press `deleteBackward` on void block element since remove contentEditable form void text element, so invoke deleteBackward manually as inline void element diff --git a/packages/src/components/editable/editable.component.ts b/packages/src/components/editable/editable.component.ts index 72101b0..d37602a 100644 --- a/packages/src/components/editable/editable.component.ts +++ b/packages/src/components/editable/editable.component.ts @@ -1284,7 +1284,7 @@ export class SlateEditable implements OnInit, OnChanges, OnDestroy, AfterViewChe if ( Element.isElement(currentNode) && Editor.isVoid(editor, currentNode) && - Editor.isInline(editor, currentNode) + (Editor.isInline(editor, currentNode) || Editor.isBlock(editor, currentNode)) ) { event.preventDefault(); Editor.deleteBackward(editor, {