Skip to content

Radio 单选框 ​

17:06

说明 ​

单选框,用于从一组选项中单选。ux-radio-group 负责分组、用 v-model 绑定选中值,并统一控制 shape / size / active-color / disabled 等;ux-radio 是组内单个选项,用 name(或 value)标识,label 为显示文本。

兼容性 ​

平台支持情况
App✅ 支持
H5✅ 支持
微信小程序✅ 支持

示例 ​

基础用法 ​

使用 v-model 绑定选中的值,同一组内只能选中一个。

查看源码
vue
<template>
    <ux-radio-group v-model="value">
        <ux-radio label="荔枝" name="荔枝" />
        <ux-radio label="香蕉" name="香蕉" />
        <ux-radio label="橙子" name="橙子" />
    </ux-radio-group>
</template>

<script setup lang="uts">
const value = ref<string>('荔枝');
</script>

形状 shape ​

shape="circle" 为圆形,shape="square" 为方形(3px 小圆角)。

查看源码
vue
<template>
    <ux-radio-group v-model="value" shape="square">
        <ux-radio label="荔枝" name="荔枝" />
        <ux-radio label="香蕉" name="香蕉" />
    </ux-radio-group>
</template>

<script setup lang="uts">
const value = ref<string>('荔枝');
</script>

尺寸配置 size ​

支持 small / default / large 预设值和自定义数值(单位px);传数值时图标按 size 的 0.6、label 按 0.8 自适应。

查看源码
vue
<template>
    <ux-radio-group v-model="value" size="large">
        <ux-radio label="荔枝" name="荔枝" />
        <ux-radio label="香蕉" name="香蕉" />
    </ux-radio-group>
</template>

<script setup lang="uts">
const value = ref<string>('荔枝');
</script>

激活颜色 active-color ​

通过 active-color 设置选中时的颜色,可覆盖 group 的颜色。

查看源码
vue
<template>
    <ux-radio-group v-model="value" active-color="#19be6b">
        <ux-radio label="荔枝" name="荔枝" />
        <ux-radio label="香蕉" name="香蕉" />
    </ux-radio-group>
</template>

<script setup lang="uts">
const value = ref<string>('荔枝');
</script>

禁用 disabled ​

通过 disabled 禁用单个 radio,或通过 group 的 disabled 禁用全部。

查看源码
vue
<template>
    <ux-radio-group v-model="value">
        <ux-radio label="荔枝" name="荔枝" :disabled="true" />
        <ux-radio label="香蕉" name="香蕉" />
    </ux-radio-group>
</template>

<script setup lang="uts">
const value = ref<string>('香蕉');
</script>

API ​

Props ​

ux-radio-group ​

属性说明类型默认值版本
customStyle自定义根节点样式string | UTSJSONObject--
customClass自定义根节点样式类string''-
modelValue绑定值,选中的 radio 的 name/valuestring | number''-
disabled是否禁用所有 radiobooleanfalse-
labelDisabled是否禁止点击文本操作 radiobooleanfalse-
shape形状'circle' | 'square''circle'-
activeColor选中状态下的颜色string''-
size组件整体大小string | number''-
iconSize图标大小string | number''-
width每个 radio 宽度string'auto'-
wrap是否换行booleanfalse-

ux-radio ​

属性说明类型默认值版本
customStyle自定义根节点样式string | UTSJSONObject--
customClass自定义根节点样式类string''-
labelradio 的标签string''-
nameradio 的标示符string | number''-
valueradio 的值string | number''-
shape形状,circle为圆形,square为方形'circle' | 'square'--
disabled是否禁用boolean--
labelDisabled是否禁止点击文本操作 radioboolean--
activeColor选中状态下的颜色,如设置此值,将会覆盖 radioGroup 的 activeColor 值string--
iconSize图标大小,单位pxstring | number--
labelSizelabel 的字体大小string | number''-
size组件的整体大小string | number--

Events ​

ux-radio-group ​

事件名说明回调参数版本
change任一个radio状态发生变化时触发,回调为选中的值value: string | number-

ux-radio ​

事件名说明回调参数版本
change某个radio状态发生变化时触发,回调为选中的值value: string | number-

Slots ​

ux-radio-group ​

插槽名说明版本
default放置 ux-radio 子组件-

ux-radio ​

插槽名说明版本
default自定义 label 内容(默认显示 label 文本)-

注意事项 ​

  • ux-radio 需放在 ux-radio-group 内才会被分组管理、参与选中联动;脱离 group 单独使用时不会与其它 radio 联动。
  • 选中值由 group 的 v-model 维护,ux-radio 用 name(优先 value)匹配选中项,二者需与绑定值类型一致。
  • ux-radio 的 disabled、label-disabled、size、icon-size、active-color 会覆盖 group 上的同名配置。
  • ux-radio 的 size 能解析出尺寸档(含数值档)时,label-size 不生效,字号取该档内的值。
  • label-disabled 为 true 时点击文本不触发选中,仅点击图标可切换。