Skip to content
在新窗口打开实时预览

Radio 单选框 ​

RadioGroup 与 Radio 成对使用:容器管理一组互斥的单选值、禁用状态、颜色与布局,Radio 通过 name 参与互斥选择。

平台兼容性 ​

H5App微信小程序支付宝小程序
√√√√

基础用法 ​

vue
<snake-radio-group v-model="flavor">
  <snake-radio name="sweet">鲜甜</snake-radio>
  <snake-radio name="spicy">香辣</snake-radio>
  <snake-radio name="mild">清淡</snake-radio>
</snake-radio-group>

布局通过 width 与 wrap 控制:width 指定每个 radio 的占宽(如 width="240rpx"),wrap 让每个 radio 单独占一行。

初始值与禁用项 ​

将组的 v-model 初始化为某个 name 即可预选。禁用单项不会影响其他选项;点击已选中的项不会清空选择,也不会再次触发 change。

vue
<snake-radio-group v-model="delivery">
  <snake-radio name="express">快递配送</snake-radio>
  <snake-radio name="pickup" disabled>到店自提</snake-radio>
</snake-radio-group>

API ​

RadioGroup ​

Props ​

参数说明类型默认值
modelValue当前选中的 namestring | number''
disabled全组禁用booleanfalse
activeColor选中状态下的颜色string主题色
size整体尺寸 small/default/largestring''
labelDisabled是否禁止点击标签选中booleanfalse
shapecircle/square 形状string'circle'
iconSize勾号大小,单位 rpxUnitValue''
width每个 radio 占组宽度UnitValue'auto'
wrap是否每个 radio 都换行booleanfalse
customClass / customStyle自定义类名和样式string | style''

Events ​

update:modelValue 和 change 均返回最新 name。

Slots ​

默认插槽放置 Radio。

Radio ​

Props ​

参数说明类型默认值
label展示标签文本string''
name数据项标识符string | number''
shapecircle/square 形状string继承 Group
disabled / labelDisabled禁用 / 禁止点击标签选中booleanfalse
activeColor选中颜色,设置后覆盖父级 activeColorstring主题色
iconSize / labelSize勾号与标签字号,单位 rpxUnitValue按 size 预设
size整体尺寸 small/default/largestring继承 Group
customClass / customStyle自定义类名和样式string | style''

Events ​

change(name) — radio 从未选中变为选中时触发,携带当前 radio 的 name。点击已选中项不触发。

Slots ​

默认插槽用于标签内容。

主题变量 ​

变量用途
--snake-color-primary默认选中颜色
--snake-color-border未选中和禁用边框
--snake-color-disabled-bg禁用状态背景与图标颜色
--snake-color-text标签文字颜色

activeColor 会覆盖当前实例或分组的默认主题色。

类型定义 ​

从包根导入 RadioGroupProps、RadioProps 与 RadioEmits。

为 uni-app 商城与 CMS 场景设计