TreeItem API
API reference docs for the React TreeItem component. Learn about the props, CSS, and other APIs of this exported module.
Component demos
Import
import { TreeItem } from '@mui/x-tree-view/TreeItem';
// or
import { TreeItem } from '@mui/x-tree-view';Props of the native component are also available.
| Name | Type | Default | Description | 
|---|---|---|---|
| nodeId* | string | - | The id of the node. | 
| children | node | - | The content of the component. | 
| classes | object | - | Override or extend the styles applied to the component. See CSS API below for more details. | 
| ContentComponent | element type | TreeItemContent | The component used for the content node. | 
| ContentProps | object | - | Props applied to ContentComponent. | 
| disabled | bool | false | If  | 
| label | node | - | The tree node label. | 
| onFocus | unsupportedProp | - | This prop isn't supported. Use the  | 
| slotProps | object | {} | The props used for each component slot. | 
| slots | object | {} | Overridable component slots. See Slots API below for more details. | 
| sx | Array<func | object | bool> | func | object | - | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details. | 
| TransitionComponent | elementType | Collapse | The component used for the transition. Follow this guide to learn more about the requirements for this component. | 
| TransitionProps | object | - | Props applied to the transition element. By default, the element is based on this  | 
ref is forwarded to the root element.Theme default props
You can use MuiTreeItem to change the default props of this component with the theme.
| Slot name | Class name | Default component | Description | 
|---|---|---|---|
| collapseIcon | The icon used to collapse the node. | ||
| expandIcon | The icon used to expand the node. | ||
| endIcon | The icon displayed next to an end node. | ||
| icon | The icon to display next to the tree node's label. | 
These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.
| Class name | Rule name | Description | 
|---|---|---|
| .Mui-disabled | State class applied to the element when disabled. | |
| .Mui-expanded | State class applied to the content element when expanded. | |
| .Mui-focused | State class applied to the content element when focused. | |
| .Mui-selected | State class applied to the content element when selected. | |
| .MuiTreeItem-content | content | Styles applied to the content element. | 
| .MuiTreeItem-group | group | Styles applied to the transition component. | 
| .MuiTreeItem-iconContainer | iconContainer | Styles applied to the tree node icon. | 
| .MuiTreeItem-label | label | Styles applied to the label element. | 
| .MuiTreeItem-root | root | Styles applied to the root element. | 
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 styleOverridesproperty in a custom theme.