瀏覽代碼

guard destroyed input field in timeout

Sebastian Herrlinger 7 月之前
父節點
當前提交
58ba486375
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx

+ 5 - 1
packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx

@@ -241,7 +241,11 @@ export function DialogSelect<T>(props: DialogSelectProps<T>) {
             focusedTextColor={theme.textMuted}
             ref={(r) => {
               input = r
-              setTimeout(() => input.focus(), 1)
+              setTimeout(() => {
+                if (!input) return
+                if (input.isDestroyed) return
+                input.focus()
+              }, 1)
             }}
             placeholder={props.placeholder ?? "Search"}
           />