mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-24 15:46:10 +08:00
5a2818600c
Co-authored-by: afc163 <afc163@gmail.com> Co-authored-by: liuyuan <yuanliu147@qq.com>
94 lines
3.9 KiB
Markdown
94 lines
3.9 KiB
Markdown
---
|
||
category: Components
|
||
group: 数据录入
|
||
title: Radio
|
||
subtitle: 单选框
|
||
description: 用于在多个备选项中选中单个状态。
|
||
cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*mrPVRope68wAAAAAAAAAAAAADrJ8AQ/original
|
||
coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*xPfTSphsiA0AAAAAAAAAAAAADrJ8AQ/original
|
||
demo:
|
||
cols: 2
|
||
---
|
||
|
||
## 何时使用
|
||
|
||
- 用于在多个备选项中选中单个状态。
|
||
- 和 Select 的区别是,Radio 所有选项默认可见,方便用户在比较中选择,因此选项不宜过多。
|
||
|
||
## 代码演示
|
||
|
||
<!-- prettier-ignore-start -->
|
||
<code src="./demo/basic.tsx">基本</code>
|
||
<code src="./demo/disabled.tsx">不可用</code>
|
||
<code src="./demo/radiogroup.tsx">单选组合</code>
|
||
<code src="./demo/radiogroup-more.tsx">Radio.Group 垂直</code>
|
||
<code src="./demo/radiogroup-block.tsx" version="5.21.0">Block 单选组合</code>
|
||
<code src="./demo/radiogroup-options.tsx">Radio.Group 组合 - 配置方式</code>
|
||
<code src="./demo/radiobutton.tsx">按钮样式</code>
|
||
<code src="./demo/radiogroup-with-name.tsx">单选组合 - 配合 name 使用</code>
|
||
<code src="./demo/size.tsx">大小</code>
|
||
<code src="./demo/radiobutton-solid.tsx">填底的按钮样式</code>
|
||
<code src="./demo/badge.tsx" debug>测试 Badge 的样式</code>
|
||
<code src="./demo/wireframe.tsx" debug>线框风格</code>
|
||
<code src="./demo/component-token.tsx" debug>组件 Token</code>
|
||
<!-- prettier-ignore-end -->
|
||
|
||
## API
|
||
|
||
通用属性参考:[通用属性](/docs/react/common-props)
|
||
|
||
### Radio/Radio.Button
|
||
|
||
<!-- prettier-ignore -->
|
||
| 参数 | 说明 | 类型 | 默认值 |
|
||
| --- | --- | --- | --- |
|
||
| autoFocus | 自动获取焦点 | boolean | false |
|
||
| checked | 指定当前是否选中 | boolean | false |
|
||
| defaultChecked | 初始是否选中 | boolean | false |
|
||
| disabled | 禁用 Radio | boolean | false |
|
||
| value | 根据 value 进行比较,判断是否选中 | any | - |
|
||
|
||
### Radio.Group
|
||
|
||
单选框组合,用于包裹一组 `Radio`。
|
||
|
||
<!-- prettier-ignore -->
|
||
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
||
| --- | --- | --- | --- | --- |
|
||
| buttonStyle | RadioButton 的风格样式,目前有描边和填色两种风格 | `outline` \| `solid` | `outline` | | |
|
||
| defaultValue | 默认选中的值 | any | - | | |
|
||
| disabled | 禁选所有子单选器 | boolean | false | | |
|
||
| name | RadioGroup 下所有 `input[type="radio"]` 的 `name` 属性 | string | - | | |
|
||
| options | 以配置形式设置子元素 | string\[] \| number\[] \| Array<[CheckboxOptionType](#checkboxoptiontype)> | - | | |
|
||
| optionType | 用于设置 Radio `options` 类型 | `default` \| `button` | `default` | 4.4.0 | |
|
||
| size | 大小,只对按钮样式生效 | `large` \| `middle` \| `small` | - | | |
|
||
| value | 用于设置当前选中的值 | any | - | | |
|
||
| block | 将 RadioGroup 宽度调整为其父宽度的选项 | boolean | false | 5.21.0 | |
|
||
| onChange | 选项变化时的回调函数 | function(e:Event) | - | | |
|
||
|
||
### CheckboxOptionType
|
||
|
||
| Property | Description | Type | Default | Version |
|
||
| --- | --- | --- | --- | --- |
|
||
| label | 用于作为 Radio 选项展示的文本 | `string` | - | 4.4.0 |
|
||
| value | 关联 Radio 选项的值 | `string` \| `number` \| `boolean` | - | 4.4.0 |
|
||
| style | 应用到 Radio 选项的 style | `React.CSSProperties` | - | 4.4.0 |
|
||
| disabled | 指定 Radio 选项是否要禁用 | `boolean` | `false` | 4.4.0 |
|
||
| title | 添加 Title 属性值 | `string` | - | 4.4.0 |
|
||
| id | 添加 Radio Id 属性值 | `string` | - | 4.4.0 |
|
||
| onChange | 当 Radio Group 的值发送改变时触发 | `(e: CheckboxChangeEvent) => void;` | - | 4.4.0 |
|
||
| required | 指定 Radio 选项是否必填 | `boolean` | `false` | 4.4.0 |
|
||
|
||
## 方法
|
||
|
||
### Radio
|
||
|
||
| 名称 | 描述 |
|
||
| ------- | -------- |
|
||
| blur() | 移除焦点 |
|
||
| focus() | 获取焦点 |
|
||
|
||
## 主题变量(Design Token)
|
||
|
||
<ComponentTokenTable component="Radio"></ComponentTokenTable>
|