diff --git a/app/components/ui-lib.module.scss b/app/components/ui-lib.module.scss index 1f1e6a333..3be443197 100644 --- a/app/components/ui-lib.module.scss +++ b/app/components/ui-lib.module.scss @@ -323,6 +323,7 @@ border: none; outline: none; font-size: 14px; + text-align: left; } &-search-input:focus { diff --git a/app/components/ui-lib.tsx b/app/components/ui-lib.tsx index ee78126b5..344e170c6 100644 --- a/app/components/ui-lib.tsx +++ b/app/components/ui-lib.tsx @@ -503,14 +503,27 @@ export function SearchSelector(props: { } }; + const { items, onClose } = props; // 过滤列表项 - const filteredItems = props.items.filter( + const filteredItems = items.filter( (item) => item.title.toLowerCase().includes(searchQuery.toLowerCase()) || (item.subTitle && item.subTitle.toLowerCase().includes(searchQuery.toLowerCase())), ); + useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === "Escape") { + onClose?.(); + } + }; + document.addEventListener("keydown", handleKeyDown); + return () => { + document.removeEventListener("keydown", handleKeyDown); + }; + }, [onClose]); + return (
props.onClose?.()}>
(props: {