基于选项数组的单选组件,支持描述文案、自定义布局样式和选项插槽扩展。
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
options | RadioGroupOption[] | 必需 | 单选组选项数据 |
disabled | boolean | false | 是否整体禁用 |
dir | 'ltr' | 'rtl' | - | 文本方向 |
class | HTMLAttributes['class'] | - | 单选组容器类名 |
optionClass | HTMLAttributes['class'] | - | 每个选项外层容器类名 |
itemClass | HTMLAttributes['class'] | - | RadioGroupItem 类名 |
export interface RadioGroupOption {
label: string
value: AcceptableValue
description?: string
disabled?: boolean
id?: string
}| 名称 | 说明 |
|---|---|
option | 自定义选项内容,slot props: { option, checked, disabled, id },option 会保留 options 中的扩展字段类型 |
| 事件名 | 说明 | 回调参数 |
|---|---|---|
change | 选中值变化时触发 | value: AcceptableValue | undefined |
通过 v-model 实现双向绑定。
v-model 管理选中值,不再提供 defaultValue。options 至少需要 label 和 value 两个字段。disabled 为 true 时,会覆盖单项可用状态。class 和 optionClass 自定义多列或卡片式排列,不再提供 orientation。description 时,选项会自动切换为顶部对齐布局。option 插槽后,默认 RadioGroupItem 会隐藏,需要由插槽内容自行承担完整视觉表现。Label 中,点击文字区域也能切换选中状态。