TreeView API
The API documentation of the TreeView React component. Learn more about the props and the CSS customization points.
Import
import TreeView from '@material-ui/lab/TreeView';
// or
import { TreeView } from '@material-ui/lab';
You can learn more about the difference by reading this guide.
Component name
The MuiTreeView
name can be used for providing default props or style overrides at the theme level.
Props
Name | Type | Default | Description |
---|---|---|---|
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. | |
defaultCollapseIcon | node | The default icon used to collapse the node. | |
defaultEndIcon | node | 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. |
|
defaultExpanded | Array<string> | [] | Expanded node ids. (Uncontrolled) |
defaultExpandIcon | node | The default icon used to expand the node. | |
defaultParentIcon | 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. |
|
defaultSelected | Array<string> | string |
[] | Selected node ids. (Uncontrolled) When multiSelect is true this takes an array of strings; when false (default) a string. |
disabledItemsFocusable | bool | false | If true , will allow focus on disabled items. |
disableSelection | bool | false | If true selection is disabled. |
expanded | Array<string> | Expanded node ids. (Controlled) | |
id | string | 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. | |
multiSelect | bool | false | If true ctrl and shift will trigger multiselect. |
onNodeFocus | func | Callback fired when tree items are focused. Signature: function(event: object, 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. |
|
onNodeSelect | func | Callback fired when tree items are selected/unselected. Signature: function(event: object, value: array | string) => void event: The event source of the callback value: of the selected nodes. When multiSelect is true this is an array of strings; when false (default) a string. |
|
onNodeToggle | func | Callback fired when tree items are expanded/collapsed. Signature: function(event: object, nodeIds: array) => void event: The event source of the callback. nodeIds: The ids of the expanded nodes. |
|
selected | Array<string> | string |
Selected node ids. (Controlled) When multiSelect is true this takes an array of strings; when false (default) a string. |
The ref
is forwarded to the root element.
Any other props supplied will be provided to the root element (native element).
CSS
Rule name | Global class | Description |
---|---|---|
root | .MuiTreeView-root | Styles applied to the root element. |
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.