Select API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import Select from '@mui/joy/Select';
// or
import { Select } from '@mui/joy';
Component name
The nameJoySelect
can be used when providing default props or style overrides in the theme.Props
Name | Type | Default | Description |
---|---|---|---|
action | func | { current?: { focusVisible: func } } | A ref for imperative actions. It currently only supports focusVisible() action. | |
autoFocus | bool | If true , the select element is focused during the first mount | |
color | 'danger' | 'info' | 'neutral' | 'primary' | 'success' | 'warning' | string | 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. | |
defaultListboxOpen | bool | If true , the select will be initially open. | |
defaultValue | any | The default selected value. Use when the component is not controlled. | |
disabled | bool | If true , the component is disabled. | |
endDecorator | node | Trailing adornment for the select. | |
getSerializedValue | func | A function to convert the currently selected value to a string. Used to set a value of a hidden input associated with the select, so that the selected value can be posted with a form. | |
indicator | node | The indicator(*) for the select. ________________ [ value * ] ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ | |
listboxId | string | id attribute of the listbox element. Also used to derive the id attributes of options. | |
listboxOpen | bool | Controls the open state of the select's listbox. | |
name | string | Name of the element. For example used by the server to identify the fields in form submits. If the name is provided, the component will render a hidden input element that can be submitted to a server. | |
onChange | func | Callback fired when an option is selected. | |
onClose | func | Triggered when focus leaves the menu and the menu should close. | |
onListboxOpenChange | func | Callback fired when the component requests to be opened. Use in controlled mode (see listboxOpen). | |
placeholder | node | Text to show when there is no selected value. | |
renderValue | func | Function that customizes the rendering of the selected value. | |
size | 'sm' | 'md' | 'lg' | string | The size of the component. To learn how to add custom sizes to the component, check out Themed components—Extend sizes. | |
startDecorator | node | Leading adornment for the select. | |
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. | |
value | any | The selected value. Set to null to deselect all options. | |
variant | 'outlined' | 'plain' | 'soft' | 'solid' | string | 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 | .MuiSelect-root | 'div' | The component that renders the root. To learn how to customize the slot, check out the Overriding component structure guide. |
button | .MuiSelect-button | 'button' | The component that renders the button. To learn how to customize the slot, check out the Overriding component structure guide. |
startDecorator | .MuiSelect-startDecorator | 'span' | The component that renders the start decorator. To learn how to customize the slot, check out the Overriding component structure guide. |
endDecorator | .MuiSelect-endDecorator | 'span' | The component that renders the end decorator. To learn how to customize the slot, check out the Overriding component structure guide. |
indicator | .MuiSelect-indicator | 'span' | The component that renders the indicator. To learn how to customize the slot, check out the Overriding component structure guide. |
listbox | .MuiSelect-listbox | 'ul' | The component that renders the listbox. To learn how to customize the slot, check out the Overriding component structure guide. |