Menu
The Menu components provide your users with a list of options on temporary surfaces.
Dropdown API
Import
import { Dropdown } from '@mui/base/Dropdown';
// or
import { Dropdown } from '@mui/base';
Props
The component cannot hold a ref.
Menu API
Import
import { Menu } from '@mui/base/Menu';
// or
import { Menu } from '@mui/base';
Props
Props of the native component are also available.
The props used for each slot inside the Menu.
Type:
{ listbox?: func | object, root?: func | object }
Default:
{}
The components used for each slot inside the Menu. Either a string to use a HTML element or a component.
See Slots API below for more details.
Type:
{ listbox?: elementType, root?: elementType }
Default:
{}
The
ref
is forwarded to the root element.Slots
To learn how to customize the slot, check out the Overriding component structure guide.
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.
CSS classes
These class names are useful for styling with CSS. They are applied to the root slot when specific states are triggered.
MenuButton API
Import
import { MenuButton } from '@mui/base/MenuButton';
// or
import { MenuButton } from '@mui/base';
Props
Props of the native component are also available.
The components used for each slot inside the MenuButton. Either a string to use a HTML element or a component.
Type:
{ root?: func | object }
Default:
{}
The props used for each slot inside the MenuButton.
See Slots API below for more details.
Type:
{ root?: elementType }
Default:
{}
The
ref
is forwarded to the root element.Slots
To learn how to customize the slot, check out the Overriding component structure guide.
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.
CSS classes
These class names are useful for styling with CSS. They are applied to the root slot when specific states are triggered.
MenuItem API
Import
import { MenuItem } from '@mui/base/MenuItem';
// or
import { MenuItem } from '@mui/base';
Props
Props of the native component are also available.
A text representation of the menu item's content. Used for keyboard text navigation matching.
Type:
string
The components used for each slot inside the MenuItem. Either a string to use a HTML element or a component.
See Slots API below for more details.
Type:
{ root?: elementType }
Default:
{}
The
ref
is forwarded to the root element.Slots
To learn how to customize the slot, check out the Overriding component structure guide.
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.
CSS classes
These class names are useful for styling with CSS. They are applied to the root slot when specific states are triggered.