value | SelectValue | — | value={value} | 当前值,支持 bind:value |
gap | number | — | gap={42} | 继承 Frame 的间距 token 索引;省略时保留组件原首选间距,显式值覆盖首选间距,有效图文间距仍至少为 4 CSS px;显式零和根字号/间距缩放不压低下限。 |
defaultValue | SelectValue | — | defaultValue={value} | 初始值 |
placeholder | string | — | placeholder="Search…" | 空值占位文字,显示在 Trigger 中 |
name | string | — | name="Example" | 表单提交字段名 |
disabled | boolean | false | disabled | 禁用状态 |
readonly | boolean | false | readonly | 只读状态 |
required | boolean | false | required | 必填状态 |
form | string | — | form="Example" | 指定外部表单归属 |
autofocus | boolean | — | autofocus | 首次渲染自动聚焦 |
tabindex | number | — | tabindex={42} | Tab 顺序 |
title | string | — | title="Example" | 原生提示 |
id | string | — | id="example" | 原生 id |
invalid | boolean | false | invalid | 组件级无效态 |
children | Snippet | — | <Select>Content</Select> | <Listbox> + <MenuItem> 组合内容 |
options | SelectOption[] | [] | options={options} | 默认内置列表数据,字段遵循 ListboxItem;传入显式 children 时不渲染该默认列表。 |
triggerContent | Snippet<[SelectTriggerContext]> | — | triggerContent={triggerContentContent} | buttonTrigger 开启时替换触发按钮内容;接收 value、option、label、placeholder、open、disabled。 |
buttonTrigger | boolean | false | buttonTrigger | 使用 Button 代替字段型触发器;保留展开、选择与焦点恢复协议。 |
buttonBare | boolean | true | buttonBare | 只在 buttonTrigger 模式生效,控制内置 Button 是否为无外壳 bare 外观。 |
selectionMode | "persistent" | "action" | "persistent" | selectionMode="persistent" | persistent 保存选择值;action 只执行 onAction、关闭面板并恢复触发器焦点,不保存本次选项。 |
onAction | (value: string) => void | — | onAction={(value) => { /* handle value */ }} | action 模式选择选项后调用,参数为字符串选项值;此时面板已关闭,返回值不参与选择。 |
parts | SelectParts | — | parts={partsOptions} | 配置默认 Listbox、Input、MenuItem 与按钮触发器;显式 child 不消费父级 parts。 |
ariaLabel | string | — | ariaLabel="Example" | 触发器的可访问名称;按钮触发模式无自定义内容时也作为后备显示内容。 |
onclick | (event: MouseEvent) => void | — | onclick={(value) => { /* handle value */ }} | 非 disabled、非 readonly 的触发器点击切换展开状态后调用,接收原始 MouseEvent。 |
oninput | (event: Event) => void | — | oninput={(value) => { /* handle value */ }} | persistent 模式选择了不同值时调用,接收隐藏表单输入派发的 change Event;实际新值从绑定 value 读取,不是原生文本输入过程。 |
onchange | (event: Event) => void | — | onchange={(value) => { /* handle value */ }} | persistent 模式选择值改变后调用,接收同一次 change Event;相同值与 action 模式不触发。 |
onfocus | (event: FocusEvent) => void | — | onfocus={(value) => { /* handle value */ }} | 字段型触发器取得焦点时调用,接收 FocusEvent;按钮触发模式不使用此直接处理器。 |
onblur | (event: FocusEvent) => void | — | onblur={(value) => { /* handle value */ }} | 字段型触发器失去焦点时调用,接收 FocusEvent;按钮触发模式不使用此直接处理器。 |
onkeydown | (event: KeyboardEvent) => void | — | onkeydown={(value) => { /* handle value */ }} | 触发器的内置方向键、Enter/Space 和 Escape 处理后调用,接收 KeyboardEvent;不能撤销已处理的动作。 |
onkeyup | (event: KeyboardEvent) => void | — | onkeyup={(value) => { /* handle value */ }} | 字段型触发器松开按键时调用,接收 KeyboardEvent;按钮触发模式不使用此直接处理器。 |