From 156ce54362f1ef18bd40c408e235f47193f92d1e Mon Sep 17 00:00:00 2001 From: drunkpiano Date: Wed, 21 Jan 2026 03:01:56 +0800 Subject: [PATCH] fix(ui): prevent Enter key action during IME composition (#9564) --- packages/ui/src/components/list.tsx | 2 +- packages/ui/src/hooks/use-filtered-list.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/components/list.tsx b/packages/ui/src/components/list.tsx index 6929f6b73..2815805ad 100644 --- a/packages/ui/src/components/list.tsx +++ b/packages/ui/src/components/list.tsx @@ -133,7 +133,7 @@ export function List(props: ListProps & { ref?: (ref: ListRef) => void }) const index = selected ? all.indexOf(selected) : -1 props.onKeyEvent?.(e, selected) - if (e.key === "Enter") { + if (e.key === "Enter" && !e.isComposing) { e.preventDefault() if (selected) handleSelect(selected, index) } else { diff --git a/packages/ui/src/hooks/use-filtered-list.tsx b/packages/ui/src/hooks/use-filtered-list.tsx index b8a55000e..8595af529 100644 --- a/packages/ui/src/hooks/use-filtered-list.tsx +++ b/packages/ui/src/hooks/use-filtered-list.tsx @@ -77,7 +77,7 @@ export function useFilteredList(props: FilteredListProps) { } const onKeyDown = (event: KeyboardEvent) => { - if (event.key === "Enter") { + if (event.key === "Enter" && !event.isComposing) { event.preventDefault() const selectedIndex = flat().findIndex((x) => props.key(x) === list.active()) const selected = flat()[selectedIndex]