Skip to content

RadioGroup 单选组

MoRadioGroup 用于在一组选项中选择一个值。适合状态切换、模式选择和互斥配置项,支持尺寸、禁用、图标、自定义标签和颜色。

基础用法

Light

当前值:publish

Dark

当前值:publish

vue
<script setup lang="ts">
import { ref } from "vue";

const action = ref("publish");
const options = [
  { label: "发布", value: "publish" },
  { label: "收藏", value: "favorite" },
  { label: "分享", value: "share" }
];
</script>

<template>
  <MoRadioGroup v-model="action" :options="options" />
</template>

尺寸

Light
Dark
vue
<MoRadioGroup v-model="value" size="small" :options="options" />
<MoRadioGroup v-model="value" :options="options" />
<MoRadioGroup v-model="value" size="large" :options="options" />

禁用状态

Light
Dark
vue
<MoRadioGroup v-model="value" :options="options" />
<MoRadioGroup v-model="value" disabled :options="options" />

图标和自定义标签

Light
Dark
vue
<MoRadioGroup v-model="value" :options="options">
  <template #label="{ option, checked }">
    <span>{{ option.label }} - {{ checked ? "已选" : "可选" }}</span>
  </template>
</MoRadioGroup>

自定义颜色

Light
Dark
vue
<MoRadioGroup
  v-model="value"
  :options="options"
  active-background-color="#0d9488"
  active-text-color="#0f766e"
/>

Change 事件

Light

尚未切换

Dark

尚未切换

vue
<MoRadioGroup v-model="value" :options="options" @change="handleChange" />

API

属性说明类型默认值
v-model当前选中值string | number | booleanundefined
options选项列表RadioGroupOption[][]
theme主题light | darkdark
size尺寸small | default | largedefault
backgroundColor组背景色string-
activeBackgroundColor选中圆点和边框色string-
textColor默认文字色string-
activeTextColor选中文字色string-
disabled是否整体禁用booleanfalse

RadioGroupOption

字段说明类型
label选项文本string
value选项值string | number | boolean
disabled是否禁用boolean
icon图标文本string

Events

事件说明回调参数
change选中值变化时触发value, option
update:modelValue选中值变化时触发value

Slots

插槽说明
icon自定义选项图标,参数 { option, index, checked, active }
label自定义选项文本,参数 { option, index, checked, active }