Skip to content

Radio 单选框

在一组备选项中进行单选。

基础用法

通过 RadioGroupv-model 绑定选中值,Radiovalue 设置选项值。

当前选中:1

<script setup>
import { ref } from 'vue'
import Radio from '@/vue/components/Radio/Radio.vue'
import RadioGroup from '@/vue/components/Radio/RadioGroup.vue'
const picked = ref('1')
</script>
<template>
  <RadioGroup v-model="picked">
    <Radio value="1" label="选项一" />
    <Radio value="2" label="选项二" />
    <Radio value="3" label="选项三" />
  </RadioGroup>
  <p style="margin-top: 10px; color: #606266;">当前选中:{{ picked }}</p>
</template>

禁用状态

RadioGroup 上设置 disabled 可以禁用整组单选框。

<script setup>
import { ref } from 'vue'
import Radio from '@/vue/components/Radio/Radio.vue'
import RadioGroup from '@/vue/components/Radio/RadioGroup.vue'
const picked = ref('1')
</script>
<template>
  <RadioGroup v-model="picked" disabled>
    <Radio value="1" label="选项一" />
    <Radio value="2" label="选项二" />
    <Radio value="3" label="选项三" />
  </RadioGroup>
</template>

不同尺寸

通过 size 属性设置单选框的大小。

<script setup>
import { ref } from 'vue'
import Radio from '@/vue/components/Radio/Radio.vue'
import RadioGroup from '@/vue/components/Radio/RadioGroup.vue'
const picked = ref('1')
</script>
<template>
  <div style="display: flex; flex-direction: column; gap: 16px;">
    <RadioGroup v-model="picked" size="large">
      <Radio value="1" label="大尺寸" />
      <Radio value="2" label="选项二" />
    </RadioGroup>
    <RadioGroup v-model="picked">
      <Radio value="1" label="默认尺寸" />
      <Radio value="2" label="选项二" />
    </RadioGroup>
    <RadioGroup v-model="picked" size="small">
      <Radio value="1" label="小尺寸" />
      <Radio value="2" label="选项二" />
    </RadioGroup>
  </div>
</template>

React 用法

tsx
import { useState } from 'react'
import { Radio, RadioGroup } from '@bobocn/element/react'
import '@bobocn/element/style.css'

// 基础用法
function App() {
  const [value, setValue] = useState('1')

  return (
    <RadioGroup modelValue={value} onChange={setValue}>
      <Radio value="1">选项一</Radio>
      <Radio value="2">选项二</Radio>
      <Radio value="3">选项三</Radio>
    </RadioGroup>
  )
}

// 禁用整组
<RadioGroup modelValue={value} disabled onChange={setValue}>
  <Radio value="1">选项一</Radio>
  <Radio value="2">选项二</Radio>
</RadioGroup>

// 不同尺寸
<RadioGroup modelValue={value} size="large" onChange={setValue}>
  <Radio value="1">大尺寸</Radio>
  <Radio value="2">选项二</Radio>
</RadioGroup>

API

RadioGroup 属性 (Attributes)

属性名说明类型默认值
modelValue / v-model绑定值string | number | boolean
disabled是否禁用booleanfalse
name原生 name 属性string
size单选框尺寸'large' | 'default' | 'small''default'

RadioGroup 事件 (Events)

事件名说明回调参数
change绑定值变化时触发(value: string | number | boolean) => void

RadioGroup 插槽 (Slots)

插槽名说明
defaultRadio 组件

Radio 属性 (Attributes)

属性名说明类型默认值
value单选框的值string | number | boolean
label标签文字string
disabled是否禁用booleanfalse
name原生 name 属性string

Radio 插槽 (Slots)

插槽名说明
default自定义标签内容

基于 MIT 许可发布