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
classes
object prop. - With a global class name.
- With a theme and an
overrides
property.
If that's not sufficient, you can check the implementation of the component for more detail.