From 61029636241e2a6230c43cd5cc127f40c42fb418 Mon Sep 17 00:00:00 2001 From: xuhd Date: Thu, 28 May 2026 18:43:20 +0800 Subject: [PATCH] 000 --- frontend-web/src/pages/StudioNotebookDetailPage.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend-web/src/pages/StudioNotebookDetailPage.tsx b/frontend-web/src/pages/StudioNotebookDetailPage.tsx index 375c9bcc..71af9c3f 100644 --- a/frontend-web/src/pages/StudioNotebookDetailPage.tsx +++ b/frontend-web/src/pages/StudioNotebookDetailPage.tsx @@ -1,6 +1,6 @@ "use client"; -import { useEffect, useMemo, useRef, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; import { useParams } from "react-router-dom"; import { AlignLeft, @@ -191,7 +191,7 @@ export default function StudioNotebookDetailPage() { const queryClient = useQueryClient(); const [sourcesOpen, setSourcesOpen] = useState(false); const [selectedSourceIds, setSelectedSourceIds] = useState([]); - const sourcesInitializedRef = useRef(false); + const [initializedForNotebook, setInitializedForNotebook] = useState(null); const [selectedModel, setSelectedModel] = useState(""); const [input, setInput] = useState(""); // null = 显示历史线程列表;string = 显示该线程的聊天 @@ -211,11 +211,11 @@ export default function StudioNotebookDetailPage() { const { sources, isLoading: isLoadingSources } = useNotebookSources(notebook?.id ?? null); useEffect(() => { - if (sources.length > 0 && !sourcesInitializedRef.current) { - sourcesInitializedRef.current = true; + if (sources.length > 0 && initializedForNotebook !== notebook?.id) { + setInitializedForNotebook(notebook?.id ?? null); setSelectedSourceIds(sources.map((s) => s.id)); } - }, [sources]); + }, [sources, notebook?.id, initializedForNotebook]); const citationRehypePlugins = useMemo(() => { const mapped = sources.map((s) => ({ id: s.id,