Option API
API reference docs for the React Option component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import Option from '@mui/joy/Option';
// or
import { Option } from '@mui/joy';Learn about the difference by reading this guide on minimizing bundle size.
Props of the native component are also available.
| Name | Type | Default | Description |
|---|---|---|---|
| value* | any | - | The option value. |
| children | node | - | The content of the component. |
| color | 'danger' | 'neutral' | '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. |
| disabled | bool | false | If |
| label | element | string | - | A text representation of the option's content. Used for keyboard text navigation matching. |
| 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. |
| variant | 'outlined' | 'plain' | 'soft' | 'solid' | string | 'plain' | The global variant to use. To learn how to add your own variants, check out Themed components—Extend variants. |
To learn how to customize the slot, check out the Overriding component structure guide.
| Slot name | Class name | Default component | Description |
|---|---|---|---|
| root | .MuiOption-root | 'li' | The component that renders the root. |
These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.
| Class name | Rule name | Description |
|---|---|---|
| .Mui-disabled | State class applied to the root element if disabled={true}. | |
| .Mui-selected | State class applied to the root element if the option is selected. | |
| .MuiOption-colorContext | colorContext | Class name applied to the root element if color="context". |
| .MuiOption-colorDanger | colorDanger | Class name applied to the root element if color="danger". |
| .MuiOption-colorNeutral | colorNeutral | Class name applied to the root element if color="neutral". |
| .MuiOption-colorPrimary | colorPrimary | Class name applied to the root element if color="primary". |
| .MuiOption-colorSuccess | colorSuccess | Class name applied to the root element if color="success". |
| .MuiOption-colorWarning | colorWarning | Class name applied to the root element if color="warning". |
| .MuiOption-highlighted | highlighted | State class applied to the root element if the option is highlighted. |
| .MuiOption-variantOutlined | variantOutlined | State class applied to the root element if variant="outlined". |
| .MuiOption-variantPlain | variantPlain | State class applied to the root element if variant="plain". |
| .MuiOption-variantSoft | variantSoft | State class applied to the root element if variant="soft". |
| .MuiOption-variantSolid | variantSolid | State class applied to the root element if variant="solid". |
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's
styleOverridesproperty in a custom theme.
Source code
If you did not find the information in this page, consider having a look at the implementation of the component for more detail.