Skip to content

VirtTree API

Tree Attributes

AttributeDescriptionTypeDefaultRequired
listTree dataTreeNodeData[]-
minSizeMinimum size, used to calculate the number of items in the viewportnumber32
indentHorizontal indentation between adjacent level nodes, in pixelsnumber16No
iconSizeIcon sizenumber16No
itemGapGap between items (item size includes itemGap)Number0No
showLineWhether to show level linesbooleanfalseNo
[expand] expandedKeys.sync Set of key values for expanded nodesTreeNodeKey[][]No
[expand] defaultExpandAllWhether to expand nodes by defaultbooleantrueNo
[expand] expandOnClickNodeWhether to expand when clicking element (only effective when selectable=false&checkOnClickNode=false)booleantrueNo
[checkable] checkableWhether to have checkboxbooleanfalseNo
[checkable] checkedKeys.sync Set of key values for checked nodes, only effective when showCheckbox is trueTreeNodeKey[][]No
[checkable] checkOnClickNodeWhether clicking node can select checkboxbooleanfalseNo
[checkable] checkedStrictlyWhen showing checkboxes, whether to strictly follow the practice of no mutual association between parent and child, default is falsebooleanfalseNo
[selectable] selectableWhether selection is allowedbooleanfalseNo
[selectable] selectedKeys.sync Set of key values for selected nodes, only effective when selectable is trueTreeNodeKey[][]No
[selectable] selectMultipleWhether multiple selection is allowedbooleanfalseNo
[focus] focusedKeys.sync Set of key values for focused nodes, can also be a single nodeTreeNodeKey|TreeNodeKey[][]No
[draggable] draggableWhether to enable dragbooleanfalseNo
[draggable] dragClassClass for dragged nodestring``No
[draggable] dragGhostClassClass for dragged clone nodestring``No
[draggable] beforeDragCallback before drag enters each node, return true to allow drag, return false to disallow() => boolean``No
[draggable] dragoverPlacementEffective area range for drag areanumber[][33,66]No
filterMethodMethod executed when filtering tree nodes, return true to show, return false to hide() => boolean-No
fieldNamesConfiguration optionsTreeFieldNames-No
Other attributesSame as VirtList attributes---

Tree Methods

MethodDescriptionParameters
scrollToScroll to({key?: string | number; align?: 'view' | 'top'; offset?: number;})
hasSelectedWhether the node is selected(node: TreeNode) => boolean
selectAllSet selection state for all nodes(selected: boolean)
selectNodeSelect specified node(key: TreeNodeKey|TreeNodeKey[], selected: boolean)
hasExpandedWhether the node is expanded(node: TreeNode) => boolean
toggleExpandToggle node expansion(node: TreeNode) => boolean
expandAllSet expansion state for all nodes(expanded: boolean)
expandNodeExpand specified node(key: TreeNodeKey|TreeNodeKey[], expanded: boolean)
hasCheckedWhether the node is checked(node: TreeNode) => boolean
hasIndeterminateWhether the node is indeterminate(node: TreeNode) => boolean
checkAllSet check state for all nodes(checked: boolean)
checkNodeCheck specified node(key: TreeNodeKey|TreeNodeKey[], checked: boolean)

Tree Events

Event NameDescriptionParameters
selectTriggered when clicking tree nodeselectedKeys: Array<string | number>
data: { selected?: boolean; selectedNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; }
checkTriggered when clicking tree node checkbox. halfCheckedKeys and halfCheckedNodes supported from 2.19.0.checkedKeys: Array<string | number>
data: { checked?: boolean; checkedNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; halfCheckedKeys: (string | number)[]; halfCheckedNodes: TreeNodeData[]; }
expandExpand/collapseexpandKeys: Array<string | number>
data: { expanded?: boolean; expandNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; }
drag-startNode starts draggingev: DragEvent
node: TreeNodeData
drag-endNode ends draggingev: DragEvent
node: TreeNodeData
drag-overNode is dragged to droppable targetev: DragEvent
node: TreeNodeData
drag-leaveNode leaves droppable targetev: DragEvent
node: TreeNodeData
dropNode is dropped on droppable targetdata: { e: DragEvent; dragNode: TreeNodeData; dropNode: TreeNodeData; dropPosition: number; }

Tree Slots

NameDescription
iconIcon slot, scoped parameters: { node }
contentNode content slot, scoped parameters: { node }
defaultNode item content, scoped parameters: { node, data, expand }
headerNode item content, scoped parameters: { node, data, expand }
footerNode item content, scoped parameters: { node, data, expand }

TreeNode

Parameter NameDescriptionTypeDefault
keyUnique identifierstring | number-
levelLevelnumber1
titleTitle displayed for this nodestring-
isLeafWhether it's a leaf node. Effective for dynamic loadingbooleanfalse
isLastWhether it's the last node at current levelbooleanfalse
parentParentTreeNode[]1
childrenChild nodesTreeNode[]-
disableSelectWhether to disable selectionbooleanfalse
disableCheckboxWhether to disable checkboxbooleanfalse
dataCustom drag icon, priority over tree() => VNode-

TreeFieldNames

AttributeDescriptionTypeDefaultRequired
keyProperty used as unique key for each tree nodestring, numberkeyNo
titleSpecify node label as a property value of node objectstringtitleNo
childrenSpecify subtree as a property value of node objectstringchildrenNo
disableSelectDisable selectionstringdisableSelectNo
disableCheckboxDisable checkbox checkstringdisableCheckboxNo
disableDragInDisable drag into this nodestringdisableDragInNo
disableDragOutDisable drag out of this nodestringdisableDragOutNo