选择与选项
受控与非受控讲了值如何在组件与你的状态之间流动,本页讲值的两端怎么写——Select 系组件共用的选项数据约定。适用于:
- 选择列表:
Select、OutlineSelect、TabSelect、ButtonSelect、ButtonMenuSelectWidget - 标签输入:
TagMultiselect、MenuTagMultiselect - 表单字段:
DropdownInput、RadioSelectInput、CheckboxMultiselectInput - 带候选的输入:
ComboBoxInput、SearchWidget(结果集)
各组件只在此约定上增补自己的属性(如 OutlineSelect 的层级、标签的固定),具体见组件页。
选项数据
options 是一个选项对象数组:
- 带
value的项是可选项。value恒为string | number,同时是选中态的匹配依据与列表 key。 - 不带
value的项渲染为分组标题(不可选中、不参与键盘导航),只有分组形态的组件支持(Select、OutlineSelect、Dropdown、ButtonMenuSelectWidget等)。 - 选项文本写在
children上;标签多选写在label上,见下文。 - 选中态不用在选项里声明——组件按
value与当前值派生,选项数据保持为纯数据。