Radio 单选框
在一组备选项中进行单选。
实现原理
使用 MouseRegion 嵌套 GestureDetector、Container、Text 等组件实现单选功能,通过 InheritedWidget 实现 RadioGroup 的状态共享。
基础用法
使用 value
和 label
属性来定义单选框的值和标签。
禁用状态
使用 disabled
属性来控制单选框是否为禁用状态。
单选框组
结合 ERadioGroup
和 ERadio
组件组合使用实现单选框组。
不同尺寸
使用 size
属性来定义单选框的尺寸, 也可以通过 customFontSize
属性来定义单选框的文字大小。
带边框
设置 border
属性为 true 可以渲染为带有边框的单选框。
API
Radio 属性
customFontSize 和 fontColorType 等属性可以定义在 ERadioGroup 中,这样所有子元素都会继承这些属性。
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
value | 单选框的值 | String? | - |
label | 单选框的标签 | String? | - |
disabled | 是否禁用 | boolean | false |
border | 是否显示边框 | boolean | false |
size | 单选框的尺寸 | ESizeItem | ESizeItem.medium |
name | 原生 name 属性 | String? | - |
customFontSize | 自定义文字大小 | double? | - |
fontColorType | 文字颜色类型 | EColorType | EColorType.primary |
fontCustomColor | 文字颜色 | Color? | - |
iconColorType | 图标颜色类型 | EColorType | EColorType.primary |
iconCustomColor | 图标颜色 | Color? | - |
RadioGroup 属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
value | 绑定值 | String? | - |
disabled | 是否禁用 | boolean | false |
size | 单选框的尺寸 | ESizeItem | ESizeItem.medium |
customFontSize | 自定义文字大小 | double? | - |
fontColorType | 文字颜色类型 | EColorType | EColorType.primary |
fontCustomColor | 文字颜色 | Color? | - |
iconColorType | 图标颜色类型 | EColorType | EColorType.primary |
iconCustomColor | 图标颜色 | Color? | - |
children | 子组件列表 | List<Widget> | - |
onChanged | 值变化时触发 | ValueChanged<String>? | - |
RadioGroup 事件
事件名 | 说明 | 参数 |
---|---|---|
onChanged | 选中值变化时触发 | (String value) => void |