Select 选择器
用于在多个选项中选择单个或多个值。
实现原理
基于 Dropdown、ListView、Text、Icon 等组件实现,支持单选、多选、禁用、可清空、自定义头部、前后缀等功能。
基础用法
使用 value
、options
和 onChanged
属性实现基本的选择功能。
单选和多选
通过 multiple
属性切换单选和多选,单选时 value
为 String?
,多选时为 List<String>?
。
禁用状态
使用 disabled
属性禁用选择器。
可清空
使用 clearable
属性启用清空功能。
前缀/后缀/插槽
通过 prefix
、suffix
、prepend
、append
属性自定义前缀、后缀和插槽内容。
有禁用选项
SelectOption
支持 disabled
字段,可设置部分选项不可选。
自定义头部
通过 header
属性自定义下拉面板头部内容。
API 调用
支持 onChanged
、onClear
等事件。
API
Select 属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
value | 当前选中值(单选/多选) | String? /List<String>? | - |
options | 选项列表 | List<SelectOption> | - |
placeholder | 占位符文本 | String? | "请选择" |
size | 选择器尺寸 | ESizeItem | ESizeItem.medium |
customHeight | 自定义高度 | double? | - |
customFontSize | 自定义字体大小 | double? | - |
customBorderRadius | 自定义圆角 | double? | - |
multiple | 是否多选 | bool | false |
disabled | 是否禁用 | bool | false |
clearable | 是否可清空 | bool | false |
prefix | 前缀 | Widget? | - |
suffix | 后缀(可替换默认箭头) | Widget? | - |
prepend | 头部插槽 | Widget? | - |
append | 尾部插槽 | Widget? | - |
header | 自定义下拉面板头部 | Widget? | - |
onChanged | 选中值变化时回调 | Function(dynamic) | - |
onClear | 清空时回调 | VoidCallback? | - |
SelectOption 属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
value | 选项值 | String | - |
label | 选项文本 | String | - |
disabled | 是否禁用 | bool | false |
Select 事件
事件名 | 说明 | 参数 |
---|---|---|
onChanged | 选中值变化时 | dynamic |
onClear | 清空时触发 | - |
</rewritten_file>