Skip to content

Radio 单选框 ​

用于在一组互斥选项中选择一个。

基础用法 ​

配合 RadioGroup 实现单选组合。

tsx
import { Radio, RadioGroup } from '@airo-ui/react'

function Demo() {
  return (
    <RadioGroup defaultValue="apple">
      <Radio value="apple" label="苹果" />
      <Radio value="banana" label="香蕉" />
      <Radio value="orange" label="橙子" />
    </RadioGroup>
  )
}

受控与非受控 ​

tsx
import { useState } from 'react'
import { Radio, RadioGroup } from '@airo-ui/react'

function ControlledDemo() {
  const [value, setValue] = useState<string | number | boolean>('apple')

  return (
    <RadioGroup value={value} onChange={setValue}>
      <Radio value="apple" label="苹果" />
      <Radio value="banana" label="香蕉" />
      <Radio value="orange" label="橙子" />
    </RadioGroup>
  )
}

function UncontrolledDemo() {
  return (
    <RadioGroup defaultValue="banana" name="fruit">
      <Radio value="apple" label="苹果" />
      <Radio value="banana" label="香蕉" />
      <Radio value="orange" label="橙子" />
    </RadioGroup>
  )
}

禁用 ​

tsx
import { Radio, RadioGroup } from '@airo-ui/react'

// 禁用整个组合
function GroupDisabled() {
  return (
    <RadioGroup defaultValue="apple" disabled>
      <Radio value="apple" label="苹果" />
      <Radio value="banana" label="香蕉" />
    </RadioGroup>
  )
}

// 禁用单个选项
function ItemDisabled() {
  return (
    <RadioGroup defaultValue="apple">
      <Radio value="apple" label="苹果" />
      <Radio value="banana" label="香蕉" disabled />
    </RadioGroup>
  )
}

API ​

Radio Props ​

名称类型默认值说明
checkedboolean—受控模式选中状态
defaultCheckedbooleanfalse非受控模式默认选中状态
valuestring | number | boolean—选项值(必填)
disabledbooleanfalse是否禁用
labelstring—标签文本
namestring—原生 name 属性
childrenReactNode—子内容
onChange(value: RadioValue) => void—选中状态变化时触发

RadioGroup Props ​

名称类型默认值说明
valueRadioValue—受控模式选中值
defaultValueRadioValue—非受控模式默认选中值
namestring—原生 name 属性
disabledbooleanfalse是否禁用整个组合
childrenReactNode—子内容
onChange(value: RadioValue) => void—选中值变化时触发

MIT License