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
styleOverrides
property in a custom theme.