diff --git a/frontend/src/components/TopLoadingBar.tsx b/frontend/src/components/TopLoadingBar.tsx index ec95fd1..9ab113e 100644 --- a/frontend/src/components/TopLoadingBar.tsx +++ b/frontend/src/components/TopLoadingBar.tsx @@ -4,6 +4,7 @@ const TopLoadingBar = () => { const [isVisible, setIsVisible] = useState(false); const [progress, setProgress] = useState(0); const intervalRef = useRef(null); + const timeoutRef = useRef(null); useEffect(() => { // 监听全局事件 @@ -33,8 +34,13 @@ const TopLoadingBar = () => { clearInterval(intervalRef.current); intervalRef.current = null; } + // 清除旧的timeout + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + timeoutRef.current = null; + } setProgress(100); - setTimeout(() => { + timeoutRef.current = setTimeout(() => { setIsVisible(false); setProgress(0); }, 300); @@ -49,6 +55,9 @@ const TopLoadingBar = () => { if (intervalRef.current) { clearInterval(intervalRef.current); } + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } window.removeEventListener("loading:show", handleShow); window.removeEventListener("loading:hide", handleHide); }; diff --git a/frontend/src/pages/Agent/Agent.tsx b/frontend/src/pages/Agent/Agent.tsx index 94df683..528e813 100644 --- a/frontend/src/pages/Agent/Agent.tsx +++ b/frontend/src/pages/Agent/Agent.tsx @@ -151,6 +151,15 @@ export default function AgentPage() { const [isTyping, setIsTyping] = useState(false); const messagesEndRef = useRef(null); const inputRef = useRef(null); + const timeoutRef = useRef(null); + + useEffect(() => { + return () => { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + }; + }, []); const scrollToBottom = () => { messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); @@ -174,8 +183,13 @@ export default function AgentPage() { setInputValue(""); setIsTyping(true); + // 清理旧的 timeout + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + // 模拟AI响应 - setTimeout(() => { + timeoutRef.current = setTimeout(() => { const response = generateResponse(content); const assistantMessage: Message = { id: (Date.now() + 1).toString(), diff --git a/frontend/src/pages/DataManagement/Create/CreateDataset.tsx b/frontend/src/pages/DataManagement/Create/CreateDataset.tsx index 5479324..ff19b4b 100644 --- a/frontend/src/pages/DataManagement/Create/CreateDataset.tsx +++ b/frontend/src/pages/DataManagement/Create/CreateDataset.tsx @@ -78,7 +78,11 @@ export default function DatasetCreate() { onValuesChange={handleValuesChange} layout="vertical" > - +