TreeItem API
API reference docs for the React TreeItem component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import { TreeItem } from '@mui/x-tree-view/TreeItem';
// or
import { TreeItem } from '@mui/x-tree-view';
// or
import { TreeItem } from '@mui/x-tree-view-pro';
Learn about the difference by reading this guide on minimizing bundle size.
Props of the native component are also available.
Name | Type | Default | Description |
---|---|---|---|
itemId* | string | - | The id of the item. |
children | node | - | The content of the component. |
classes | object | - | Override or extend the styles applied to the component. See CSS classes API below for more details. |
ContentComponent | element type | TreeItemContent | The component used to render the content of the item. |
ContentProps | object | - | Props applied to ContentComponent. |
disabled | bool | false | If |
label | node | - | The tree item label. |
onFocus | unsupportedProp | - | This prop isn't supported. Use the |
onKeyDown | func | - | Callback fired when a key of the keyboard is pressed on the item. |
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. |
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 item. | ||
expandIcon | The icon used to expand the item. | ||
endIcon | The icon displayed next to an end item. | ||
icon | The icon to display next to the tree item's label. | ||
groupTransition | .MuiTreeItem-groupTransition | TreeItem2Group | The component that animates the appearance / disappearance of the item's children. |
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-checkbox | checkbox | Styles applied to the checkbox element. |
.MuiTreeItem-content | content | Styles applied to the content element. |
.MuiTreeItem-dragAndDropOverlay | dragAndDropOverlay | Styles applied to the drag and drop overlay. |
.MuiTreeItem-editable | editable | Styles applied to the content of the items that are editable. |
.MuiTreeItem-editing | editing | Styles applied to the content element when editing is enabled. |
.MuiTreeItem-iconContainer | iconContainer | Styles applied to the tree item icon. |
.MuiTreeItem-label | label | Styles applied to the label element. |
.MuiTreeItem-labelInput | labelInput | Styles applied to the input element that is visible when editing is enabled. |
.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
styleOverrides
property in a custom theme.
Source code
If you did not find the information in this page, consider having a look at the implementation of the component for more detail.