RichTreeView API
API reference docs for the React RichTreeView component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import { RichTreeView } from '@mui/x-tree-view/RichTreeView';
// or
import { RichTreeView } from '@mui/x-tree-view';
Learn about the difference by reading this guide on minimizing bundle size.
Props of the native component are also available.
Name | Type | Default | Description |
---|---|---|---|
apiRef | { current?: { focusItem: func, getItem: func } } | - | The ref object that allows Tree View manipulation. Can be instantiated with |
classes | object | - | Override or extend the styles applied to the component. See CSS classes API below for more details. |
defaultExpandedItems | Array<string> | [] | Expanded item ids. Used when the item's expansion is not controlled. |
defaultSelectedItems | any | [] | Selected item ids. (Uncontrolled) When |
disabledItemsFocusable | bool | false | If |
disableSelection | bool | false | If |
expandedItems | Array<string> | - | Expanded item ids. Used when the item's expansion is controlled. |
getItemId | func | `(item) => item.id` | Used to determine the string label for a given item. Signature: function(item: R) => string
Returns: The id of the item. |
getItemLabel | func | `(item) => item.label` | Used to determine the string label for a given item. Signature: function(item: R) => string
Returns: The label of the item. |
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. |
isItemDisabled | func | - | Used to determine if a given item should be disabled. Signature: function(item: R) => boolean
Returns: |
multiSelect | bool | false | If true |
onExpandedItemsChange | func | - | Callback fired when tree items are expanded/collapsed. Signature: function(event: React.SyntheticEvent, itemIds: array) => void
|
onItemExpansionToggle | func | - | Callback fired when a tree item is expanded or collapsed. Signature: function(event: React.SyntheticEvent, itemId: array, isExpanded: array) => void
|
onItemFocus | func | - | Callback fired when tree items are focused. Signature: function(event: React.SyntheticEvent, itemId: string, value: string) => void
|
onItemSelectionToggle | func | - | Callback fired when a tree item is selected or deselected. Signature: function(event: React.SyntheticEvent, itemId: array, isSelected: array) => void
|
onSelectedItemsChange | func | - | Callback fired when tree items are selected/deselected. Signature: function(event: React.SyntheticEvent, itemIds: Array
|
selectedItems | any | - | Selected item ids. (Controlled) When |
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 MuiRichTreeView
to change the default props of this component with the theme.
Slot name | Class name | Default component | Description |
---|---|---|---|
root | .MuiRichTreeView-root | RichTreeViewRoot | Element rendered at the root. |
item | TreeItem. | Custom component for the item. | |
collapseIcon | The default icon used to collapse the node. | ||
expandIcon | The default icon used to expand the node. | ||
endIcon | The default icon displayed next to an end node. This is applied to all tree nodes and can be overridden by the TreeItem icon slot prop. |