Option API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import Option from '@mui/joy/Option';
// or
import { Option } from '@mui/joy';Props
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' | 'info' | '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. |
| component | elementType | The component used for the root node. Either a string to use a HTML element or a component. | |
| disabled | bool | false | If true, the component is disabled. |
| label | element | string | A text representation of the option's content. Used for keyboard text navigation matching. | |
| slotProps | { root?: func | object } | {} | The props used for each slot inside. |
| slots | { root?: elementType } | {} | The components used for each slot inside. See Slots API below for more details. |
| 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. |
The component cannot hold a ref.
Slots
To learn how to customize the slot, check out the Overriding component structure guide.
| Name | Default class | Default HTML tag | Description |
|---|---|---|---|
| root | .MuiOption-root | 'li' | The component that renders the root. |
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.
CSS classes
These class names are useful for styling with CSS. They are applied to the root slot when specific states are triggered.
| Global class | Description |
|---|---|
| .Mui-disabled STATE | State class applied to the root element if disabled={true}. |
| .Mui-selected STATE | State class applied to the root element if the option is selected. |
| .MuiOption-colorContext | Class name applied to the root element if color="context". |
| .MuiOption-colorDanger | Class name applied to the root element if color="danger". |
| .MuiOption-colorInfo | Class name applied to the root element if color="info". |
| .MuiOption-colorNeutral | Class name applied to the root element if color="neutral". |
| .MuiOption-colorPrimary | Class name applied to the root element if color="primary". |
| .MuiOption-colorSuccess | Class name applied to the root element if color="success". |
| .MuiOption-colorWarning | Class name applied to the root element if color="warning". |
| .MuiOption-highlighted | State class applied to the root element if the option is highlighted. |
| .MuiOption-variantOutlined | State class applied to the root element if variant="outlined". |
| .MuiOption-variantPlain | State class applied to the root element if variant="plain". |
| .MuiOption-variantSoft | State class applied to the root element if variant="soft". |
| .MuiOption-variantSolid | State class applied to the root element if variant="solid". |