Radio 单选框
在一组备选项中进行单选
WARNING
label 作为 value 来使用已经被 废弃, 建议label 只用来表示展示的文字
基础用法
单选框不应该有太多的可选项, 如果你有很多的可选项你应该使用选择框而不是单选框。
通过 v-model 绑定变量,选中意味着变量的值为相应 Radio value 属性的值,value 可以是 String、Number 或 Boolean。支持 size 设置尺寸、disabled 禁用、border 渲染带边框样式。w-radio 标签中的内容(或 label 属性)将成为单选框后的介绍。
配置式选项 1.1.14
除了手写 w-radio 子组件,还可以通过 options 属性以数据驱动的方式配置选项,适合选项来自接口数据的场景。
options 中每项支持 label(展示文字)、value(选中值)、disabled(禁用)字段。通过 type="button" 将选项渲染为按钮形态;当数据字段名不同时,可通过 props 自定义 label / value / disabled 对应的字段名。
单选框组
适用于在多个互斥的选项中选择的场景
结合 w-radio-group 元素和子元素 w-radio 可以实现单选组,为 w-radio-group 绑定 v-model,再为每一个 w-radio 设置好 value 属性即可,另外,还可以通过 change 事件来响应变化,它会传入一个参数 value 来表示改变之后的值。
允许取消选择 1.1.14
通过 allow-deselect 属性设置为 true 来允许取消选择。
按钮样式
按钮样式的单选组合。round 圆角按钮组;discrete 离散按钮组(按钮不相连);plain 轻量级按钮组;tight 紧凑按钮组(文字左右内边距收窄为 8px)。属性可组合使用,可在顶部勾选属性手动查看组合效果。
只需要把 w-radio 元素替换为 w-radio-button 元素即可。 此外,WinDesign Next 还提供了 size 属性用来控制单选框的大小。
长文本省略
多语言场景下,选项文本可能较长。当单选框所在容器宽度受限(如固定宽度的分组、栅格列)时,选项保持单行显示,超出部分以省略号截断,鼠标悬浮在选项文字上可通过原生 title 查看完整内容。
按钮文字省略 1.3.4
设置 w-radio-button 的 show-overflow 属性后,按钮文字保持单行显示,超出部分以省略号截断,可与 tight 组合使用;也可在 w-radio-group 上统一开启(对组内所有按钮生效),或通过 options 配置项为单个选项设置 showOverflow。注意:show-overflow 需要配合宽度使用——按钮本身或其所在容器需要有限定宽度(如固定宽度、flex 收缩或栅格列),否则按钮会随内容自动撑开,不会出现省略。
按钮组排列方向 1.3.4
direction="vertical" 纵向排列,默认 horizontal 横向排列。
Radio API
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 选中项绑定值 | string / number / boolean | — |
| value | 单选框的值 | string / number / boolean | — |
| label | 单选框的 label 如果value没有值, label则作为value使用 | string / number / boolean | — |
| disabled | 是否禁用单选框 | boolean | false |
| border | 是否显示边框 | boolean | false |
| tight 1.3.4 | 是否开启紧凑版(左右间距均为 8px) | boolean | false |
| size | 单选框的尺寸 | enum | — |
| name | 原始 name 属性 | string | — |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
| change | 绑定值变化时触发的事件 | Function |
Slots
| 插槽名 | 说明 |
|---|---|
| default | 自定义默认内容 |
RadioGroup API
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 绑定值 | string / number / boolean | — |
| size | 单选框按钮或边框按钮的大小 | enum | — |
| disabled | 是否禁用 | boolean | false |
| text-color | 按钮形式的 Radio 激活时的文本颜色 | string | #ffffff |
| fill | 按钮形式的 Radio 激活时的填充色和边框色 | string | #2d5afa |
| validate-event | 输入时是否触发表单的校验 | boolean | true |
| aria-label a11y | 原生 aria-label 属性 | string | — |
| name | 原生 name 属性 | string | — |
| id | 原生 id 属性 | string | — |
| options 1.1.14 | 选项的数据源, value 的 key 和 label 和 disabled 可以通过 props 自定义. | array | — |
| props 1.1.14 | 配置选项, 可以自定义 value, label, disabled 的 key. | object | {value: 'value', label: 'label', disabled: 'disabled'} |
| type 1.1.14 | 渲染选项的组件类型 (例如 'button') | enum | 'radio' |
| allow-deselect 1.1.14 | 是否允许取消选择 | boolean | false |
| tight 1.3.4 | 是否开启紧凑版(左右间距均为 8px),用于透传给组内 radio / radio-button | boolean | false |
| show-overflow 1.3.4 | 按钮文字超出时显示省略号,用于透传给组内 radio-button(仅按钮样式组可用) | boolean | false |
| direction 1.3.4 | 横向/纵向排列 | enum | horizontal |
| plain 1.3.4 | 轻量级按钮组(仅按钮样式组可用) | boolean | false |
| round 1.3.4 | 圆角按钮样式(仅按钮样式组可用) | boolean | false |
| discrete 1.3.4 | 按钮组是否离散(按钮不相连,仅按钮样式组可用) | boolean | false |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
| change | 绑定值变化时触发的事件 | Function |
Slots
| 插槽名 | 说明 | 子标签 |
|---|---|---|
| default | 自定义默认内容 | Radio / RadioButton |
RadioButton API
Attributes
| 属性名 | 说明 | 类型 | 默认 |
|---|---|---|---|
| model-value / v-model | 选中项绑定值 | string / number / boolean | — |
| value | 单选框的值 | string / number / boolean | — |
| label | 单选框的 label 如果没有 value, label则作为value使用 | string / number / boolean | — |
| disabled | 是否禁用单选框 | boolean | false |
| size | 单选框的尺寸 | enum | — |
| name | 原生 name 属性 | string | — |
| tight 1.3.4 | 是否开启紧凑版(左右间距均为 8px) | boolean | false |
| show-overflow 1.3.4 | 文字超出时显示省略号(需配合按钮或容器的限定宽度使用) | boolean | false |
Slots
| 插槽名 | 说明 |
|---|---|
| default | 默认插槽内容 |
Copyright 2025 Winning Health 版权所有

