ListItem API
The API documentation of the ListItem React component. Learn more about the props and the CSS customization points.
Import
import ListItem from '@material-ui/core/ListItem';
// or
import { ListItem } from '@material-ui/core';You can learn more about the difference by reading this guide.
Uses an additional container component if ListItemSecondaryAction is the last child.
Component name
The MuiListItem name can be used for providing default props or style overrides at the theme level.
Props
| Name | Type | Default | Description | 
|---|---|---|---|
| alignItems | 'center' | 'flex-start' | 'center' | Defines the align-itemsstyle 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 (usingButtonBase). Props intended forButtonBasecan then be applied toListItem. | 
| children | node | The content of the component. If a ListItemSecondaryActionis 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 ListItemSecondaryActionis 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) componentelement. May be wrapped by acontainer. | 
| container | .MuiListItem-container | Styles applied to the containerelement ifchildrenincludesListItemSecondaryAction. | 
| focusVisible | .Mui-focusVisible | Pseudo-class applied to the component'sfocusVisibleClassNameprop ifbutton={true}. | 
| dense | .MuiListItem-dense | Styles applied to the componentelement if dense. | 
| alignItemsFlexStart | .MuiListItem-alignItemsFlexStart | Styles applied to the componentelement ifalignItems="flex-start". | 
| disabled | .Mui-disabled | Pseudo-class applied to the inner componentelement ifdisabled={true}. | 
| divider | .MuiListItem-divider | Styles applied to the inner componentelement ifdivider={true}. | 
| gutters | .MuiListItem-gutters | Styles applied to the inner componentelement unlessdisableGutters={true}. | 
| button | .MuiListItem-button | Styles applied to the inner componentelement ifbutton={true}. | 
| secondaryAction | .MuiListItem-secondaryAction | Styles applied to the componentelement ifchildrenincludesListItemSecondaryAction. | 
| selected | .Mui-selected | Pseudo-class applied to the root element if selected={true}. | 
You can override the style of the component thanks to one of these customization points:
- With a rule name of the classesobject prop.
- With a global class name.
- With a theme and an overridesproperty.
If that's not sufficient, you can check the implementation of the component for more detail.