用法
选项结构
每个选项有唯一的 value、label,以及可选的 description、disabled、
icon。
type SelectOption = {
value: string;
label: string;
description?: string;
disabled?: boolean;
icon?: ReactNode | ((option) => ReactNode);
};
单选 vs 多选
同一个 <Select> 两种都支持。省略 multiple(或传 false)为单选;传
multiple 为多选。value / onValueChange 的签名随之改变:
| 模式 | value | onValueChange |
|---|---|---|
| 单选 | string | (v: string) => void |
| 多选 | string[] | (v: string[]) => void |
提交行为
- 单选点击即提交并关闭 sheet。
- 多选使用草稿:打开 sheet 时把受控值复制到本地草稿。切换行只修改草稿
(即时视觉反馈)。蓝色 ✓ 按钮把草稿提交给
onValueChange;✕ 丢弃草稿并恢复 到受控值。这跟原生 iOS 多选 sheet 一致。