diff --git a/.changeset/rare-glasses-tickle.md b/.changeset/rare-glasses-tickle.md new file mode 100644 index 000000000..43edb385a --- /dev/null +++ b/.changeset/rare-glasses-tickle.md @@ -0,0 +1,5 @@ +--- +'slate-react': patch +--- + +fix wrong caret position during composition. diff --git a/packages/slate-react/src/components/editable.tsx b/packages/slate-react/src/components/editable.tsx index 927b74a0e..252bf94f0 100644 --- a/packages/slate-react/src/components/editable.tsx +++ b/packages/slate-react/src/components/editable.tsx @@ -366,7 +366,9 @@ export const Editable = (props: EditableProps) => { selection && ReactEditor.toDOMRange(editor, selection) if (newDomRange) { - if (Range.isBackward(selection!)) { + if (ReactEditor.isComposing(editor)) { + domSelection.collapseToEnd() + } else if (Range.isBackward(selection!)) { domSelection.setBaseAndExtent( newDomRange.endContainer, newDomRange.endOffset,