parts | ComponentPartsOf<{ Button: typeof Button }> | — | parts={{ Button: { size: "md" } }} | 配置内部生成的清除 Button;显式子内容不消费该默认配置。 |
variant | "gray" | "outline" | "gray" | variant="gray" | 搜索框样式 |
gap | number | — | gap={42} | 继承 Frame 的间距 token 索引;省略时保留原首选间距,显式值覆盖首选间距;有效图文间距至少为 4 CSS px,显式零、根字号或间距缩放不压低下限。 |
value | string | number | — | bind:value={query} | 当前搜索文本或展示值 |
placeholder | string | — | placeholder="Search…" | 占位文本;未传时使用 searchBox.placeholder,zh-CN 为“搜索”、en-US 为“Search”;显式空字符串保留 |
open | boolean | false | bind:open={open} | 浮层打开状态,支持 bind:open |
disabled | boolean | false | disabled | 禁用触发器 |
readonly | boolean | false | readonly | 只读触发器,不响应打开 |
showSearchIcon | boolean | true | showSearchIcon | 是否渲染默认搜索图标 |
collapseBelow | number | — | collapseBelow={42} | 当组件自身宽度小于或等于该 px 阈值时,仅保留 leading 搜索图标;未传时不启用 |
clearable | boolean | true | clearable | 有值时是否显示清除按钮 |
children | Snippet | — | <SearchBox><Kbd as="trailing" variant="solid" style="background-color: var(--surface-3);">⌘K</Kbd></SearchBox> | 外置 leading/trailing,如 Kbd |
onOpenChange | (open: boolean) => void | — | onOpenChange={(next) => open = next} | 打开状态变化回调 |
onClear | () => void | — | onClear={() => message = "Search cleared"} | 清除回调 |
onclick | (event: MouseEvent) => void | — | onclick={(event) => console.log(event.type)} | 入口点击后调用,参数为原始 MouseEvent;非 disabled、非 readonly 时组件先打开搜索层,回调不能取消已执行的打开。 |
onkeydown | (event: KeyboardEvent) => void | — | onkeydown={(event) => console.log(event.key)} | 处理 Escape 关闭及 Enter/Space 打开后调用,接收原始 KeyboardEvent;不能撤销已经发生的状态变化。 |