diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx index aca1678c46..f0c0282fd1 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx @@ -15,6 +15,7 @@ import React, { useEffect, useMemo, useRef, + useState, } from 'react'; import { BlocksuiteEditorJournalDocTitle } from './journal-doc-title'; @@ -61,6 +62,8 @@ export const BlocksuiteDocEditor = forwardRef< >(function BlocksuiteDocEditor({ page, customRenderers }, ref) { const titleRef = useRef(null); const docRef = useRef(null); + const [docPage, setDocPage] = + useState(); const { isJournal } = useJournalInfoHelper(page.workspace, page.id); const onDocRef = useCallback( @@ -84,11 +87,15 @@ export const BlocksuiteDocEditor = forwardRef< useEffect(() => { // auto focus the title setTimeout(() => { + const docPage = docRef.current?.querySelector('affine-doc-page'); + if (docPage) { + setDocPage(docPage); + } if (titleRef.current) { const richText = titleRef.current.querySelector('rich-text'); richText?.inlineEditor?.focusEnd(); } else { - docRef.current?.querySelector('affine-doc-page')?.focusFirstParagraph(); + docPage?.focusFirstParagraph(); } }); }, []); @@ -110,7 +117,9 @@ export const BlocksuiteDocEditor = forwardRef< specs={specs} hasViewport={false} /> - + {docPage ? ( + + ) : null} );