mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
fix(editor): prevent race condition and ensure correct list continuation on Enter (#4716)
* fix(editor): Prevent race condition and ensure correct list continuation on Enter _ * fix: always insert newline after preventing default Enter key behavior
This commit is contained in:
@@ -169,6 +169,11 @@ const Editor = forwardRef(function Editor(props: Props, ref: React.ForwardedRef<
|
|||||||
if (event.shiftKey || event.ctrlKey || event.metaKey || event.altKey) {
|
if (event.shiftKey || event.ctrlKey || event.metaKey || event.altKey) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Prevent a newline from being inserted, so that we can insert it manually later.
|
||||||
|
// This prevents a race condition that occurs between the newline insertion and
|
||||||
|
// inserting the insertText.
|
||||||
|
// Needs to be called before any async call.
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
const cursorPosition = editorActions.getCursorPosition();
|
const cursorPosition = editorActions.getCursorPosition();
|
||||||
const prevContent = editorActions.getContent().substring(0, cursorPosition);
|
const prevContent = editorActions.getContent().substring(0, cursorPosition);
|
||||||
@@ -205,9 +210,7 @@ const Editor = forwardRef(function Editor(props: Props, ref: React.ForwardedRef<
|
|||||||
insertText += " |";
|
insertText += " |";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (insertText) {
|
editorActions.insertText("\n" + insertText);
|
||||||
editorActions.insertText(insertText);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user