From b6c13ec4dde5bcadd919a89602038d1b7ae0dd19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E8=89=B3=E5=85=B5?= Date: Wed, 11 Feb 2026 18:18:18 +0800 Subject: [PATCH 1/3] fix: spaceKey preventDefault --- src/BaseSelect/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BaseSelect/index.tsx b/src/BaseSelect/index.tsx index 788ecd05..db54aa50 100644 --- a/src/BaseSelect/index.tsx +++ b/src/BaseSelect/index.tsx @@ -471,7 +471,7 @@ const BaseSelect = React.forwardRef((props, ref) // Enter or Space opens dropdown (ARIA combobox: spacebar should open) if (isEnterKey || isSpaceKey) { // Do not submit form when type in the input; prevent Space from scrolling page - if (mode !== 'combobox') { + if (isEnterKey && mode !== 'combobox') { event.preventDefault(); } From 5467d737bcfd2186f00c5a4c8680790d72d9fc30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E8=89=B3=E5=85=B5?= Date: Wed, 11 Feb 2026 18:33:14 +0800 Subject: [PATCH 2/3] chore: add search demo --- docs/demo/search.md | 8 ++++++++ docs/examples/search.tsx | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 docs/demo/search.md create mode 100644 docs/examples/search.tsx diff --git a/docs/demo/search.md b/docs/demo/search.md new file mode 100644 index 00000000..62ed2a28 --- /dev/null +++ b/docs/demo/search.md @@ -0,0 +1,8 @@ +--- +title: search +nav: + title: Demo + path: /demo +--- + + diff --git a/docs/examples/search.tsx b/docs/examples/search.tsx new file mode 100644 index 00000000..b837655b --- /dev/null +++ b/docs/examples/search.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import Select, { Option } from '@rc-component/select'; +import '../../assets/index.less'; + +const Demo = () => { + return ( + + ); +}; + +export default Demo; From c9a0b7f9e32aab399e5ecb7f0b6854360a5867f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E8=89=B3=E5=85=B5?= Date: Wed, 11 Feb 2026 19:10:18 +0800 Subject: [PATCH 3/3] fix: not isTypingInput preventDefault --- src/BaseSelect/index.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/BaseSelect/index.tsx b/src/BaseSelect/index.tsx index db54aa50..6625ef3c 100644 --- a/src/BaseSelect/index.tsx +++ b/src/BaseSelect/index.tsx @@ -463,15 +463,16 @@ const BaseSelect = React.forwardRef((props, ref) // KeyDown const onInternalKeyDown: React.KeyboardEventHandler = (event) => { const clearLock = getClearLock(); - const { key } = event; + const { key, target } = event; const isEnterKey = key === 'Enter'; const isSpaceKey = key === ' '; + const isTypingInput = (target as HTMLElement)?.tagName === 'INPUT'; // Enter or Space opens dropdown (ARIA combobox: spacebar should open) if (isEnterKey || isSpaceKey) { // Do not submit form when type in the input; prevent Space from scrolling page - if (isEnterKey && mode !== 'combobox') { + if (!isTypingInput && mode !== 'combobox') { event.preventDefault(); }