2016-07-21 10:10:04 +08:00
---
category: Components
2022-11-09 12:28:04 +08:00
group: Data Entry
2016-07-21 10:10:04 +08:00
title: Radio
2024-03-22 14:22:42 +08:00
description: Used to select a single state from multiple options.
2024-01-29 14:50:36 +08:00
cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*mrPVRope68wAAAAAAAAAAAAADrJ8AQ/original
coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*xPfTSphsiA0AAAAAAAAAAAAADrJ8AQ/original
2022-11-09 12:28:04 +08:00
demo:
cols: 2
2016-07-21 10:10:04 +08:00
---
2016-09-10 13:43:30 +08:00
## When To Use
2016-07-21 10:10:04 +08:00
2018-10-21 12:44:03 +08:00
- Used to select a single state from multiple options.
- The difference from Select is that Radio is visible to the user and can facilitate the comparison of choice, which means there shouldn't be too many of them.
2016-07-21 10:10:04 +08:00
2022-11-09 12:28:04 +08:00
## Examples
2022-12-08 10:17:51 +08:00
<!-- prettier - ignore - start -->
2022-11-09 12:28:04 +08:00
< code src = "./demo/basic.tsx" > Basic< / code >
< code src = "./demo/disabled.tsx" > disabled< / code >
< code src = "./demo/radiogroup.tsx" > Radio Group< / code >
< code src = "./demo/radiogroup-more.tsx" > Vertical Radio.Group< / code >
< code src = "./demo/radiogroup-options.tsx" > Radio.Group group - optional< / code >
< code src = "./demo/radiobutton.tsx" > radio style< / code >
< code src = "./demo/radiogroup-with-name.tsx" > Radio.Group with name< / code >
< code src = "./demo/size.tsx" > Size< / code >
< code src = "./demo/radiobutton-solid.tsx" > Solid radio button< / code >
2022-12-06 23:14:30 +08:00
< code src = "./demo/badge.tsx" debug > Badge style< / code >
< code src = "./demo/wireframe.tsx" debug > Wireframe< / code >
2023-06-05 16:16:43 +08:00
< code src = "./demo/component-token.tsx" debug > Component Token< / code >
2022-12-08 10:17:51 +08:00
<!-- prettier - ignore - end -->
2022-11-09 12:28:04 +08:00
2016-07-21 10:10:04 +08:00
## API
2023-08-08 18:27:48 +08:00
Common props ref: [Common props](/docs/react/common-props)
2020-02-26 16:09:22 +08:00
### Radio/Radio.Button
2016-07-21 10:10:04 +08:00
2019-11-22 14:37:39 +08:00
| Property | Description | Type | Default |
| --- | --- | --- | --- |
2020-07-01 16:21:56 +08:00
| autoFocus | Whether get focus when component mounted | boolean | false |
| checked | Specifies whether the radio is selected | boolean | false |
| defaultChecked | Specifies the initial state: whether or not the radio is selected | boolean | false |
2019-11-22 14:37:39 +08:00
| disabled | Disable radio | boolean | false |
2020-07-01 16:21:56 +08:00
| value | According to value for comparison, to determine whether the selected | any | - |
2017-10-25 10:25:44 +08:00
2016-07-21 10:10:04 +08:00
### RadioGroup
2018-06-28 14:18:23 +08:00
Radio group can wrap a group of `Radio` 。
2020-06-28 22:41:59 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
2020-10-21 10:33:43 +08:00
| buttonStyle | The style type of radio button | `outline` \| `solid` | `outline` | |
2020-07-01 16:21:56 +08:00
| defaultValue | Default selected value | any | - | |
2020-06-28 22:41:59 +08:00
| disabled | Disable all radio buttons | boolean | false | |
2020-07-01 16:21:56 +08:00
| name | The `name` property of all `input[type="radio"]` children | string | - | |
2024-04-07 10:19:59 +08:00
| options | Set children optional | string\[] \| number\[] \| Array< [CheckboxOptionType](#CheckboxOptionType)> | - | |
2020-10-21 10:33:43 +08:00
| optionType | Set Radio optionType | `default` \| `button` | `default` | 4.4.0 |
2020-07-01 16:21:56 +08:00
| size | The size of radio button style | `large` \| `middle` \| `small` | - | |
| value | Used for setting the currently selected value | any | - | |
| onChange | The callback function that is triggered when the state changes | function(e:Event) | - | |
2017-12-01 19:28:41 +08:00
2024-04-07 10:19:59 +08:00
### CheckboxOptionType
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| label | The text used to display as the Radio option | `string` | - | 4.4.0 |
| value | The value associated with the Radio option | `string` \| `number` \| `boolean` | - | 4.4.0 |
| style | The style to apply to the Radio option | `React.CSSProperties` | - | 4.4.0 |
| disabled | Specifies whether the Radio option is disabled | `boolean` | `false` | 4.4.0 |
| title | Adds the Title attribute value | `string` | - | 4.4.0 |
| id | Adds the Radio Id attribute value | `string` | - | 4.4.0 |
| onChange | Triggered when the value of the Radio Group changes | `(e: CheckboxChangeEvent) => void;` | - | 4.4.0 |
| required | Specifies whether the Radio option is required | `boolean` | `false` | 4.4.0 |
2017-12-01 19:28:41 +08:00
## Methods
### Radio
2022-01-12 22:57:43 +08:00
| Name | Description |
| ------- | ------------ |
| blur() | Remove focus |
| focus() | Get focus |
2023-04-11 10:25:24 +08:00
## Design Token
< ComponentTokenTable component = "Radio" > < / ComponentTokenTable >