fix: editor cursor not in view after smart editing (#1043)

This commit is contained in:
Stephen Zhou
2023-02-07 23:31:43 +08:00
committed by GitHub
parent 7cd474dbb7
commit 8b92021b1a
2 changed files with 12 additions and 2 deletions

View File

@ -402,6 +402,7 @@ const MemoEditor = () => {
} else {
editorRef.current?.insertText("", "\n- [ ] ");
}
editorRef.current?.scrollToCursor();
};
const handleCodeBlockBtnClick = () => {
@ -416,6 +417,7 @@ const MemoEditor = () => {
} else {
editorRef.current?.insertText("", "\n```\n", "\n```");
}
editorRef.current?.scrollToCursor();
};
const handleUploadFileBtnClick = () => {
@ -438,7 +440,7 @@ const MemoEditor = () => {
const handleTagSelectorClick = useCallback((event: React.MouseEvent) => {
if (tagSelectorRef.current !== event.target && tagSelectorRef.current?.contains(event.target as Node)) {
editorRef.current?.insertText(`#${(event.target as HTMLElement).textContent} ` ?? "");
handleEditorFocus();
editorRef.current?.scrollToCursor();
}
}, []);
@ -481,7 +483,10 @@ const MemoEditor = () => {
<div
className={`memo-editor-container ${isEditing ? "edit-ing" : ""} ${state.fullscreen ? "fullscreen" : ""}`}
tabIndex={0}
onKeyDown={handleKeyDown}
onKeyDown={(e) => {
handleKeyDown(e);
editorRef.current?.scrollToCursor();
}}
onDrop={handleDropEvent}
onFocus={handleEditorFocus}
onBlur={handleEditorBlur}