ListItem API
API documentation for the React ListItem component. Learn about the available props, and the CSS API.
Import
import ListItem from '@material-ui/core/ListItem';
// or
import { ListItem } from '@material-ui/core';Uses an additional container component if
ListItemSecondaryAction is the last child.Component name
The nameMuiListItem can be used when providing default props or style overrides in the theme.Props
| Name | Type | Default | Description |
|---|---|---|---|
| alignItems | 'center' | 'flex-start' | 'center' | Defines the align-items style property. |
| autoFocus | bool | false | If true, the list item is focused during the first mount. Focus will also be triggered if the value changes from false to true. |
| button | bool | false | If true, the list item is a button (using ButtonBase). Props intended for ButtonBase can then be applied to ListItem. |
| children | node | The content of the component. If a ListItemSecondaryAction is used it must be the last child. | |
| classes | object | Override or extend the styles applied to the component. See CSS API below for more details. | |
| component | elementType | The component used for the root node. Either a string to use a HTML element or a component. | |
| ContainerComponent | element type | 'li' | The container component used when a ListItemSecondaryAction is the last child.⚠️ Needs to be able to hold a ref. |
| ContainerProps | object | {} | Props applied to the container component if used. |
| dense | bool | false | If true, compact vertical padding designed for keyboard and mouse input is used. The prop defaults to the value inherited from the parent List component. |
| disabled | bool | false | If true, the list item is disabled. |
| disableGutters | bool | false | If true, the left and right padding is removed. |
| divider | bool | false | If true, a 1px light border is added to the bottom of the list item. |
| selected | bool | false | Use to apply selected styling. |
The
ref is forwarded to the root element.Any other props supplied will be provided to the root element (native element).
CSS
| Rule name | Global class | Description |
|---|---|---|
| root | .MuiListItem-root | Styles applied to the (normally root) `component` element. May be wrapped by a `container`. |
| container | .MuiListItem-container | Styles applied to the `container` element if children includes ListItemSecondaryAction. |
| focusVisible | .Mui-focusVisible | Pseudo-class applied to the `component`'s `focusVisibleClassName` prop if button={true}. |
| dense | .MuiListItem-dense | Styles applied to the `component` element if dense. |
| alignItemsFlexStart | .MuiListItem-alignItemsFlexStart | Styles applied to the `component` element if alignItems="flex-start". |
| disabled | .Mui-disabled | Pseudo-class applied to the inner `component` element if disabled={true}. |
| divider | .MuiListItem-divider | Styles applied to the inner `component` element if divider={true}. |
| gutters | .MuiListItem-gutters | Styles applied to the inner `component` element unless disableGutters={true}. |
| button | .MuiListItem-button | Styles applied to the inner `component` element if button={true}. |
| secondaryAction | .MuiListItem-secondaryAction | Styles applied to the `component` element if children includes ListItemSecondaryAction. |
| selected | .Mui-selected | Pseudo-class applied to the root element if selected={true}. |
You can override the style of the component using one of these customization options:
- With a rule name of the
classesobject prop. - With a global class name.
- With a theme and an
styleOverridesproperty.