Skip to content

Radio 单选框

单选框组件用于在多个选项中进行单选,支持单独使用或配合 RadioGroup 使用。

平台差异说明

App(vue)App(nvue)H5小程序

独立使用

seeRadio 支持独立使用,无需包裹在 seeRadioGroup 中,直接通过 v-model 绑定选中状态。

html
<template>
  <seeRadio v-model="selected" label="option1">选项一</seeRadio>
  <seeRadio v-model="selected" label="option2">选项二</seeRadio>
  <seeRadio v-model="selected" label="option3">选项三</seeRadio>

  <text>选中值:{{ selected }}</text>
</template>

<script setup>
import { ref } from 'vue'

const selected = ref('option1')
</script>

基本使用

使用 seeRadioGroup 组件包裹多个 seeRadio,通过 v-model 绑定选中的值。

html
<template>
  <seeRadioGroup v-model="selected">
    <seeRadio label="option1">选项一</seeRadio>
    <seeRadio label="option2">选项二</seeRadio>
    <seeRadio label="option3">选项三</seeRadio>
  </seeRadioGroup>

  <text>选中值:{{ selected }}</text>
</template>

<script setup>
import { ref } from 'vue'

const selected = ref('option1')
</script>

行内排列

设置 isInline 属性为 true 可使单选框行内排列。

html
<template>
  <seeRadioGroup v-model="selected" is-inline>
    <seeRadio label="option1">选项一</seeRadio>
    <seeRadio label="option2">选项二</seeRadio>
    <seeRadio label="option3">选项三</seeRadio>
  </seeRadioGroup>
</template>

<script setup>
import { ref } from 'vue'

const selected = ref('option1')
</script>

不同尺寸

通过 size 属性设置单选框尺寸,支持 smalldefaultlarge

html
<template>
  <seeRadioGroup v-model="selected" size="small">
    <seeRadio label="option1">小尺寸</seeRadio>
    <seeRadio label="option2">小尺寸</seeRadio>
  </seeRadioGroup>

  <seeRadioGroup v-model="selected" size="default">
    <seeRadio label="option1">默认尺寸</seeRadio>
    <seeRadio label="option2">默认尺寸</seeRadio>
  </seeRadioGroup>

  <seeRadioGroup v-model="selected" size="large">
    <seeRadio label="option1">大尺寸</seeRadio>
    <seeRadio label="option2">大尺寸</seeRadio>
  </seeRadioGroup>
</template>

边框模式

设置 isBorder 属性为 true 可显示边框样式。

html
<template>
  <seeRadioGroup v-model="selected" is-border>
    <seeRadio label="option1">选项一</seeRadio>
    <seeRadio label="option2">选项二</seeRadio>
    <seeRadio label="option3">选项三</seeRadio>
  </seeRadioGroup>
</template>

<script setup>
import { ref } from 'vue'

const selected = ref('')
</script>

禁用状态

通过 isDisabled 属性设置禁用状态,可在 Radio 或 RadioGroup 上设置。

html
<template>
  <!-- 单个禁用 -->
  <seeRadioGroup v-model="selected">
    <seeRadio label="option1">选项一</seeRadio>
    <seeRadio label="option2" is-disabled>禁用选项</seeRadio>
    <seeRadio label="option3">选项三</seeRadio>
  </seeRadioGroup>

  <!-- 整组禁用 -->
  <seeRadioGroup v-model="selected" is-disabled>
    <seeRadio label="option1">选项一</seeRadio>
    <seeRadio label="option2">选项二</seeRadio>
    <seeRadio label="option3">选项三</seeRadio>
  </seeRadioGroup>
</template>

<script setup>
import { ref } from 'vue'

const selected = ref('option1')
</script>

只读状态

设置 isReadonly 属性为 true,单选框可选中但不可修改。

html
<template>
  <seeRadioGroup v-model="selected" is-readonly>
    <seeRadio label="option1">选项一</seeRadio>
    <seeRadio label="option2">选项二</seeRadio>
    <seeRadio label="option3">选项三</seeRadio>
  </seeRadioGroup>
</template>

自定义颜色

通过 checkedColor 属性设置选中时的颜色。

html
<template>
  <seeRadioGroup v-model="selected" checked-color="#07c160">
    <seeRadio label="option1">选项一</seeRadio>
    <seeRadio label="option2">选项二</seeRadio>
    <seeRadio label="option3">选项三</seeRadio>
  </seeRadioGroup>
</template>

表单中使用

在表单中使用单选框,配合 name 属性。

html
<template>
  <seeForm :model="formData">
    <seeFormItem label="性别" prop="gender">
      <seeRadioGroup v-model="formData.gender" name="gender">
        <seeRadio label="male">男</seeRadio>
        <seeRadio label="female">女</seeRadio>
        <seeRadio label="other">其他</seeRadio>
      </seeRadioGroup>
    </seeFormItem>
  </seeForm>
</template>

<script setup>
import { reactive } from 'vue'

const formData = reactive({
  gender: 'male'
})
</script>

API

Radio Props

参数名说明类型默认值可选值平台差异
modelValue绑定值(独立使用时)string | number | boolean---
label选项的值string | number | boolean---
isDisabled是否禁用booleanfalse--
size尺寸string'default''small' / 'default' / 'large'-
isBorder是否显示边框booleanfalse--
checkedColor选中时的颜色string''--
name表单字段名string''--

RadioGroup Props

参数名说明类型默认值可选值平台差异
modelValue绑定值string | number | boolean---
isDisabled是否禁用booleanfalse--
isReadonly是否只读booleanfalse--
size尺寸string'default''small' / 'default' / 'large'-
isBorder是否显示边框booleanfalse--
isInline是否行内排列booleanfalse--
checkedColor选中时的颜色string''--
name表单字段名string''--

Events

事件名说明类型默认值可选值平台差异说明
onChange值变化时触发(value: string | number | boolean) => void---

辽 ICP 备 2025070134 号