From 9862da0efa15c4426fead7a64ad96e9e578ca2a7 Mon Sep 17 00:00:00 2001 From: AirCoding Date: Wed, 10 Jun 2026 09:16:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(tui):=20=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E5=8A=A8=E8=81=9A=E7=84=A6=20textarea?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: OpenTUI textarea 即使 focused=true 也不会自动获取键盘焦点, 需要显式调用 textarea.focus()。onMount 后延迟 50ms 聚焦, 确保 textarea 挂载完成后 Enter 键可触发 onsubmit。 Co-Authored-By: Claude Opus 4.7 (1M context) --- packages/tui/src/TuiApp.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/tui/src/TuiApp.tsx b/packages/tui/src/TuiApp.tsx index ce3fb01..193c65c 100755 --- a/packages/tui/src/TuiApp.tsx +++ b/packages/tui/src/TuiApp.tsx @@ -254,6 +254,11 @@ function AirCodingView(props: { let pasteTick: ReturnType | undefined let exitConfirmUntil = 0 + onMount(() => { + // Give the textarea time to mount before focusing + setTimeout(() => focusPrompt(), 50) + }) + props.bindState({ setProjection, setView: setActiveView,