Simple Tree View - Customization
Learn how to customize the Simple Tree View component.
Basics
Custom icons
Use the collapseIcon
slot, the expandIcon
slot and the defaultEndIcon
prop to customize the Tree View icons.
The demo below shows how to add icons using both an existing icon library, such as Material Icons, and creating an icon from scratch using Material UI's SVG Icon component.
- Hello
- Subtree with children
- World
- Something something
Custom toggle animations
Use the groupTransition
slot on the TreeItem
to pass a component that handles your animation.
The demo below is animated using Material UI's Collapse component together with the react-spring library.
- Hello
- Subtree with children
- World
- Something something
Custom styling
Use treeItemClasses
to target internal elements of the Tree Item component and change their styles.
- Hello
- Subtree with children
- World
- Something something
Custom label
Use the label
slot to customize the Tree Item label or to replace it with a custom component.
The slotProps
prop allows you to pass props to the label component.
The demo below shows how to pass an id
attribute to the Tree Item label:
- Data Grid
- @mui/x-date-pickers
- @mui/x-date-pickers-pro
The slots
prop allows you to replace the default label with your own component:
The demo below shows how to add a tooltip on the Tree Item label:
- Data Grid
- @mui/x-date-pickers
- @mui/x-date-pickers-pro
Headless API
Use the useTreeItem2
hook to create your own component.
The demo below shows how to add an avatar and custom typography elements.
- AAmelia Hart
- BBailey Monroe
- FFreddie Reed
- GGeorgia Johnson
Common examples
Connection border
Target the treeItemClasses.groupTransition
class to add connection borders between the Tree View items.
- Hello
- Hello
- Sub-subtree with children
- Hello
- World
- Something something
Limit expansion to icon container
The demo below shows how to trigger the expansion interaction just by clicking on the icon container instead of the whole Tree Item surface.
- Applications
- Documents
Gmail clone
Google's Gmail side nav is potentially one of the web's most famous tree view components. The demo below shows how to replicate it.
The Gmail sidebar is one of the most well known examples of a tree view. The demo below shows how to recreate it with the Tree View component:
All Mail
Trash
Social
Updates
Forums
Promotions
History
API
See the documentation below for a complete reference to all of the props and classes available to the components mentioned here.