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.
Props
| Name | Type | Default | Description |
|---|---|---|---|
| alignItems | 'flex-start' | 'center' |
'center' | Defines the align-items style property. |
| autoFocus | bool | false | If true, the list item will be 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 will be 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 DOM element or a component. By default, it's a li when button is false and a div when button is true. |
|
| ContainerComponent | elementType | 'li' | The container component used when a ListItemSecondaryAction is the last child. |
| ContainerProps | object | {} | Props applied to the container component if used. |
| dense | bool | false | If true, compact vertical padding designed for keyboard and mouse input will be used. |
| disabled | bool | false | If true, the list item will be 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
- Style sheet name:
MuiListItem. - Style sheet details:
| 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 if disableGutters={false}. |
| 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 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.