Skip to content

VirtTree API

Tree Attributes

AttributeDescriptionTypeDefaultRequired
listTree dataTreeNodeData[]-
itemPreSizeEstimated item sizenumber32-
minSize>= v1.7.0 deprecatednumber32-
indentHorizontal indentation between adjacent level nodes, in pixelsnumber16-
iconSizeIcon sizenumber16-
itemGapGap between items (item size includes itemGap)Number0-
showLineWhether to show level linesbooleanfalse-
[expand] expandedKeys.sync Set of key values for expanded nodesTreeNodeKey[][]-
[expand] defaultExpandAllWhether to expand nodes by defaultbooleantrue-
[expand] expandOnClickNodeWhether to expand when clicking element (only effective when selectable=false&checkOnClickNode=false)booleantrue-
[checkable] checkableWhether to have checkboxbooleanfalse-
[checkable] checkedKeys.sync Set of key values for checked nodes, only effective when showCheckbox is trueTreeNodeKey[][]-
[checkable] checkOnClickNodeWhether clicking node can select checkboxbooleanfalse-
[checkable] checkedStrictlyWhen showing checkboxes, whether to strictly follow the practice of no mutual association between parent and child, default is falsebooleanfalse-
[selectable] selectableWhether selection is allowedbooleanfalse-
[selectable] selectedKeys.sync Set of key values for selected nodes, only effective when selectable is trueTreeNodeKey[][]-
[selectable] selectMultipleWhether multiple selection is allowedbooleanfalse-
[focus] focusedKeys.sync Set of key values for focused nodes, can also be a single nodeTreeNodeKey|TreeNodeKey[][]-
[draggable] draggableWhether to enable dragbooleanfalse-
[draggable] dragClassClass for dragged nodestring``-
[draggable] dragGhostClassClass for dragged clone nodestring``-
[draggable] beforeDragCallback before drag enters each node, return true to allow drag, return false to disallow() => boolean``-
[draggable] dragoverPlacementEffective area range for drag areanumber[][33,66]-
filterMethodMethod executed when filtering tree nodes, return true to show, return false to hide() => boolean--
fieldNamesConfiguration optionsTreeFieldNames--
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, numberkey-
titleSpecify node label as a property value of node objectstringtitle-
childrenSpecify subtree as a property value of node objectstringchildren-
disableSelectDisable selectionstringdisableSelect-
disableCheckboxDisable checkbox checkstringdisableCheckbox-
disableDragInDisable drag into this nodestringdisableDragIn-
disableDragOutDisable drag out of this nodestringdisableDragOut-