Skip to content

Tree 树形控件

基础用法

文件夹、组织架构、生物分类、国家地区等等,世间万物的大多数结构都是树形结构。使用树控件可以完整展现其中的层级关系,并具有展开收起选择等交互功能。

自定义图标

可以针对不同的节点定制图标。

异步数据加载

点击展开节点,动态加载数据。

连接线

自定义展开/折叠图标

自定义字段

替换treeNode中 title,key,children字段为treeData中对应的字段

虚拟滚动

使用 height 属性则切换为虚拟滚动。

查询树节点

使用 setExpand 方法来展开对应的父节点,使用 scrollTo 方法来滚动到指定节点。

API

Tree Attributes

NameDescriptionTypeDefaultVersion
autoExpandParent是否自动展开父节点booleanfalse
blockNode是否节点占据一行booleanfalse
checkable节点前添加 Checkbox 复选框booleanfalse
checkedKeys(v-model)选中复选框的树节点string[] | number[][]
defaultExpandAll默认展开所有树节点booleanfalse
disabled将树禁用booleanfalse
expandedKeys(v-model)展开指定的树节点string[] | number[][]
fieldNames替换 treeNode 中 label,value,children 字段为 treeData 中对应的字段object{children:'children', label:'label', value:'value' }
height设置虚拟滚动容器高度,设置后内部节点不再支持横向滚动number
load异步加载数据function(node)
multiple支持点选多个节点(节点本身)booleanfalse
selectable是否可选中booleantrue
selectedKeys(v-model)设置选中的树节点string[] | number[][]
showIcon是否展示 TreeNode title 前的图标booleanfalse
showLine是否展示连接线booleanfalse
treeDatatreeNodes 数据TreeNode[]

Tree Events

NameDescriptionType
select点击树节点触发(checkedKeys: (string | number)[], e: { node: any }) => void
expand展开/收起节点时触发(expandedKeys: (string | number)[], e: { expand: boolean; node: any }) => void
check点击复选框触发(checkedKeys: (string | number)[], e: { checked: boolean; node: any }) => void

TreeNode

NameDescriptionTypeDefault
checkable当树为 checkable 时,设置独立节点是否展示 Checkboxboolean
disableCheckbox禁掉 checkboxbooleanfalse
disabled禁掉响应booleanfalse
isLeaf设置为叶子节点(设置了loadData时有效)booleanfalse
key被树的 (default)ExpandedKeys / (default)CheckedKeys / (default)SelectedKeys 属性所用。string | number
title标题string

Tree Slots

NameDescription
icon自定义图标
switcherIcon自定义树节点的展开/折叠图标
title自定义标题

Tree Exposes

NameDescriptionType
setExpand设置展开节点(str: string | ((node: TreeNodeType) => boolean)) => instance
scrollTo滚动到指定节点(开启虚拟滚动和数量达到 height / 28 向上取整)(key: string | number) => instance

贡献者

lazy

变更记录

8650f - fix: 修复异步数据层级不对问题 on 1/20/2025
d4601 - style: 修正tree样式 on 1/16/2025
07ae9 - feat: 增加查询的展开和滚动定位 on 1/9/2025
9dbd9 - fix: 修复tree默认全展开无法闭合 on 12/9/2024
99cf6 - feat: tree增加父节点展开 on 12/9/2024
d60f9 - style: 删除多余class on 4/23/2024
cd98c - feat: tree on 4/19/2024

Released under the MIT License.