From 58223c91f63e139cc036295c16d5eb9f5ef15616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=83=BD=E5=AE=81?= <994718917@qq.com> Date: Tue, 4 Oct 2022 22:40:49 +0800 Subject: [PATCH] feat(select): set default cursorPosition to the first non-disabled item (#1170) --- packages/select/src/index.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/select/src/index.ts b/packages/select/src/index.ts index fa93ca11e..08bbe2cb1 100644 --- a/packages/select/src/index.ts +++ b/packages/select/src/index.ts @@ -22,13 +22,17 @@ type SelectConfig = AsyncPromptConfig & { export default createPrompt((config, done) => { const { choices } = config; + const startIndex = Math.max( + choices.findIndex(({ disabled }) => !disabled), + 0 + ); const paginator = useRef(new Paginator()).current; const firstRender = useRef(true); const prefix = usePrefix(); const [status, setStatus] = useState('pending'); - const [cursorPosition, setCursorPos] = useState(0); + const [cursorPosition, setCursorPos] = useState(startIndex); useKeypress((key) => { if (isEnterKey(key)) {