Radio API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import Radio from '@mui/joy/Radio';
// or
import { Radio } from '@mui/joy';Component name
The nameJoyRadio can be used when providing default props or style overrides in the theme.Props
| Name | Type | Default | Description |
|---|---|---|---|
| checked | bool | If true, the component is checked. | |
| checkedIcon | node | The icon to display when the component is checked. | |
| className | string | Class name applied to the root element. | |
| color | 'danger' | 'info' | 'primary' | 'success' | 'warning' | string | 'neutral' | The color of the component. It supports those theme colors that make sense for this component. To learn how to add your own colors, check out Themed components—Extend colors. |
| defaultChecked | bool | The default checked state. Use when the component is not controlled. | |
| disabled | bool | If true, the component is disabled. | |
| disableIcon | bool | false | If true, the checked icon is removed and the selected variant is applied on the action element instead. |
| label | node | The label element at the end the radio. | |
| name | string | The name attribute of the input. | |
| onChange | func | Callback fired when the state is changed. Signature: function(event: React.ChangeEvent<HTMLInputElement>) => voidevent: The event source of the callback. You can pull out the new value by accessing event.target.value (string). You can pull out the new checked state by accessing event.target.checked (boolean). | |
| overlay | bool | false | If true, the root element's position is set to initial which allows the action area to fill the nearest positioned parent. This prop is useful for composing Radio with ListItem component. |
| readOnly | bool | If true, the component is read only. | |
| required | bool | If true, the input element is required. | |
| size | 'sm' | 'md' | 'lg' | string | 'md' | The size of the component. To learn how to add custom sizes to the component, check out Themed components—Extend sizes. |
| sx | Array<func | object | bool> | func | object | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details. | |
| uncheckedIcon | node | The icon to display when the component is not checked. | |
| value | any | The value of the component. The DOM API casts this to a string. | |
| variant | 'outlined' | 'plain' | 'soft' | 'solid' | string | 'outlined' | The global variant to use. To learn how to add your own variants, check out Themed components—Extend variants. |
The
ref is forwarded to the root element.Slots
| Name | Default class | Default HTML tag | Description |
|---|---|---|---|
| root | .MuiRadio-root | 'span' | The component that renders the root. To learn how to customize the slot, check out the Overriding component structure guide. |
| radio | .MuiRadio-radio | 'span' | The component that renders the radio. To learn how to customize the slot, check out the Overriding component structure guide. |
| icon | .MuiRadio-icon | 'span' | The component that renders the icon. To learn how to customize the slot, check out the Overriding component structure guide. |
| action | .MuiRadio-action | 'span' | The component that renders the action. To learn how to customize the slot, check out the Overriding component structure guide. |
| input | .MuiRadio-input | 'input' | The component that renders the input. To learn how to customize the slot, check out the Overriding component structure guide. |
| label | .MuiRadio-label | 'label' | The component that renders the label. To learn how to customize the slot, check out the Overriding component structure guide. |