From 568ce93bf0b27cefe68745908a5631dd77f5e85a Mon Sep 17 00:00:00 2001 From: Ethanfly Date: Wed, 31 Dec 2025 16:00:46 +0800 Subject: [PATCH] feat: auto-focus terminal when tab becomes active --- src/components/Terminal.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/components/Terminal.js b/src/components/Terminal.js index 05e7205..8260cb3 100644 --- a/src/components/Terminal.js +++ b/src/components/Terminal.js @@ -36,6 +36,16 @@ function Terminal({ tabId, hostId, isActive, onConnectionChange, onShowCommandPa const isActiveRef = useRef(isActive); isActiveRef.current = isActive; + // 当标签页变为活动状态时,自动聚焦终端 + useEffect(() => { + if (isActive && xtermRef.current) { + // 短暂延迟确保 DOM 已更新 + setTimeout(() => { + xtermRef.current?.focus(); + }, 50); + } + }, [isActive]); + const [connectionId, setConnectionId] = useState(null); const [isConnecting, setIsConnecting] = useState(false); const [error, setError] = useState(null);