TreeView API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import TreeView from '@mui/lab/TreeView';
// or
import { TreeView } from '@mui/lab';
Props
Props of the native component are also available.
The default icon displayed next to a end node. This is applied to all tree nodes and can be overridden by the TreeItem icon
prop.
Type:
node
The default icon displayed next to a parent node. This is applied to all parent nodes and can be overridden by the TreeItem icon
prop.
Type:
node
Selected node ids. (Uncontrolled) When multiSelect
is true this takes an array of strings; when false (default) a string.
Type:
Array<string> | string
Default:
[]
This prop is used to help implement the accessibility logic. If you don't provide this prop. It falls back to a randomly generated id.
Type:
string
Callback fired when tree items are focused.
Type:
func
Signature:
function(event: React.SyntheticEvent, value: string) => void
event
The event source of the callback Warning: This is a generic event not a focus event.value
of the focused node.
Callback fired when tree items are selected/unselected.
Type:
func
Signature:
function(event: React.SyntheticEvent, nodeIds: Array | string) => void
event
The event source of the callbacknodeIds
Ids of the selected nodes. WhenmultiSelect
is true this is an array of strings; when false (default) a string.
Callback fired when tree items are expanded/collapsed.
Type:
func
Signature:
function(event: React.SyntheticEvent, nodeIds: array) => void
event
The event source of the callback.nodeIds
The ids of the expanded nodes.
Selected node ids. (Controlled) When multiSelect
is true this takes an array of strings; when false (default) a string.
Type:
Array<string> | string
ref
is forwarded to the root element.Theme default props
You can useMuiTreeView
to change the default props of this component with the theme.CSS
The following class names are useful for styling with CSS (the state classes are marked).
To learn more, visit the component customization page.
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.