Tree V2 虚拟化树形控件^(beta)

不论你的数据量多大,虚拟树都能毫无压力地处理。

基础用法

基础的树形结构展示

可选择的虚拟树

适用于需要选择层级时使用。

WARNING

在使用 show-checkbox 时,因为 check-on-click-leaf 默认值为 true, 最后一个树节点可以通过点击节点进行勾选。

禁用复选框

节点的复选框可以设置为禁用。

在示例中,属性在 defaultProps 中声明了 disabled,一些节点被设置为 disabled:true。相应的复选框已禁用,不能点击。

默认扩展和默认检查

树节点可以在初始化阶段被设置为展开或选中。

分别通过 default-expanded-keys 和 default-checked-keys 设置默认展开和默认选中的节点。

node-1

自定义节点内容

节点的内容支持自定义,可以在节点区添加按钮或图标等内容

自定义节点类 2.9.0

节点的类名支持自定义。

自定义图标 2.10.3

您可以自定义不同节点状态的图标。树节点暴露了 expanded 属性和 isLeaf 属性,允许你根据节点的状态动态渲染不同的图标:叶子节点、展开的节点或折叠的节点。

树节点过滤 2.9.1

filter-method 方法只有在版本 2.9.1 之后才能接受第三个参数。树节点是可以被过滤的

在需要对节点进行过滤时,调用 Tree 实例的 filter 方法,参数为关键字。需要注意的是,此时需要设置 filter-method,值为过滤函数。

TreeV2 API

TreeV2 Attributes

属性名说明类型默认值
data树数据array—
empty-text数据为空时的文本string取 locale 的 el.tree.emptyText
props节点字段配置,见下表object—
highlight-current是否高亮当前节点booleanfalse
expand-on-click-node点击节点是否展开/收起;为 false 时只能点箭头booleantrue
check-on-click-node点击节点是否勾选;为 false 时只能点复选框booleanfalse
check-on-click-leaf点击叶子节点是否勾选booleantrue
default-expanded-keys初始展开节点的 key 数组array—
show-checkbox是否显示复选框booleanfalse
check-strictly勾选是否不联动父子节点booleanfalse
default-checked-keys初始勾选节点的 key 数组array—
current-node-key初始选中节点的 keystring / number—
filter-method过滤方法,返回 false 的节点被隐藏Function—
indent相邻层级缩进像素number16
icon自定义展开图标ReactNode / Component—
item-size节点高度number26
scrollbar-always-on是否始终显示滚动条booleanfalse
height树的高度number200
accordion同层是否只展开一个节点booleanfalse
perf-mode性能模式,缓存样式提升滚动流畅度booleantrue
class-name / style根元素类名与样式string / object—

props

属性名说明类型默认值
value节点唯一标识字段名,全树唯一stringid
label节点标签字段名stringlabel
children子树字段名stringchildren
disabled复选框禁用字段名stringdisabled
class自定义节点类名string / Function—

TreeV2 Exposes

命令式方法通过 ref 获取。

方法说明参数
filter过滤所有节点,被过滤的节点隐藏(query)
getCheckedNodes返回当前选中节点数组(leafOnly)
getCheckedKeys返回当前选中节点的 key 数组(leafOnly)
setCheckedKeys设置选中某些 key(keys)
setChecked设置单个节点勾选态,deep 表示是否递归子节点(key, checked, deep)
setExpandedKeys设置展开节点(keys)
getHalfCheckedNodes返回半选节点数组—
getHalfCheckedKeys返回半选节点的 key 数组—
getCurrentKey返回高亮节点的 key,无高亮时为 undefined—
getCurrentNode返回高亮节点的数据,无高亮时为 undefined—
setCurrentKey按 key 设置高亮节点(key)
getNode按 key 或数据取节点(data)
expandNode展开指定节点(node)
collapseNode收起指定节点(node)
setData直接替换数据,绕开响应式更新的性能开销(data)
scrollTo滚动到指定偏移(offset)
scrollToNode滚动到指定 key,可指定策略(key, strategy)
toggleCheckbox切换节点勾选态(node, checked, nodeClick, immediateUpdate, deep)

TreeV2 Events

事件名说明参数
onNodeClick节点被点击时触发(data, node, event)
onNodeDrop拖拽落到节点上时触发(data, node, event)
onNodeContextmenu节点被右键点击时触发(event, data, node)
onCheckChange节点选中态变化时触发(data, checked)
onCheck点击复选框后触发(data, { checkedKeys, checkedNodes, halfCheckedKeys, halfCheckedNodes })
onCurrentChange当前节点变化时触发(data, node)
onNodeExpand节点展开时触发(data, node)
onNodeCollapse节点收起时触发(data, node)

TreeV2 Slots

名称说明类型
default自定义节点内容,对应 children 函数{ node, data }
empty数据为空时的内容,对应 empty 属性—