Skip to content

Tree 树形组件 ​

规则 ​

基础示例 ​

Props 配置示例 ​

显示复选框 ​

默认展开所有节点 ​

懒加载 ​

可拖拽 ​

整段禁用(节点禁用) ​

勾选框按节点 disabled 字段禁用;需在 props 中映射 disabled 字段名。

Events 事件示例 ​

监听节点选择 ​

选择后统计数量 ​

完整配置项:Element_Tree

value :Array

Props ​

参数说明类型可选值默认值
data展示数据array——
emptyText内容为空的时候展示的文本String——
nodeKey每个树节点用来作为唯一标识的属性,整棵树应该是唯一的String——
props配置选项,具体看下表object——
renderAfterExpand是否在第一次展开某个树节点后才渲染其子节点boolean—true
load加载子树数据的方法,仅当 lazy 属性为true 时生效function(node, resolve)——
renderContent树节点的内容区的渲染 FunctionFunction(h, { node, data, store })——
highlightCurrent是否高亮当前选中节点,默认值是 false。boolean—false
defaultExpandAll是否默认展开所有节点boolean—false
expandOnClickNode是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。boolean—true
checkOnClickNode是否在点击节点的时候选中节点,默认值为 false,即只有在点击复选框时才会选中节点。boolean—false
autoExpandParent展开子节点的时候是否自动展开父节点boolean—true
defaultExpandedKeys默认展开的节点的 key 的数组array——
showCheckbox节点是否可被选择boolean—false
checkStrictly在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 falseboolean—false
defaultCheckedKeys默认勾选的节点的 key 的数组array——
currentNodeKey当前选中的节点string, number——
filterNodeMethod对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示,返回 false 则表示这个节点会被隐藏Function(value, data, node)——
accordion是否每次只打开一个同级树节点展开boolean—false
indent相邻级节点间的水平缩进,单位为像素number—16
iconClass自定义树节点的图标string--
lazy是否懒加载子节点,需与 load 方法结合使用boolean—false
draggable是否开启拖拽节点功能boolean—false
allowDrag判断节点能否被拖拽Function(node)——
allowDrop拖拽时判定目标节点能否被放置。type 参数有三种情况:'prev'、'inner' 和 'next',分别表示放置在目标节点前、插入至目标节点和放置在目标节点后Function(draggingNode, dropNode, type)——

Porps.props ​

参数说明类型可选值默认值
label指定节点标签为节点对象的某个属性值string, function(data, node)——
children指定子树为节点对象的某个属性值string——
disabled指定节点选择框是否禁用为节点对象的某个属性值boolean, function(data, node)——
isLeaf指定节点是否为叶子节点,仅在指定了 lazy 属性的情况下生效boolean, function(data, node)——

data数据结构 ​

js
[{
    title: 'parent 1',
    expand: true,
    selected: false,
    id:1,
    children: [
        {
            title: 'parent 1-1',
            expand: true,
            id:2,
            children: [
                {
                    title: 'leaf 1-1-1',
                    disabled: true,
                    id:11
                },
                {
                    title: 'leaf 1-1-2',
                    selected:true,
                    id:12
                }
            ]
        },
        {
            title: 'parent 1-2',
            expand: true,
            id:3,
            children: [
                {
                    title: 'leaf 1-2-1',
                    checked: true,
                    id:13,
                },
                {
                    title: 'leaf 1-2-1',
                    id:14,
                }
            ]
        }
    ]
}]

Events ​

事件名称说明回调参数
node-click节点被点击时的回调共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身。
node-contextmenu当某一节点被鼠标右键点击时会触发该事件共四个参数,依次为:event、传递给 data 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身。
check-change节点选中状态发生变化时的回调共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点
check当复选框被点击的时候触发共两个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、树目前的选中状态对象,包含 checkedNodes、checkedKeys、halfCheckedNodes、halfCheckedKeys 四个属性
current-change当前选中节点变化时触发的事件共两个参数,依次为:当前节点的数据,当前节点的 Node 对象
node-expand节点被展开时触发的事件共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身
node-collapse节点被关闭时触发的事件共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身
node-drag-start节点开始拖拽时触发的事件共两个参数,依次为:被拖拽节点对应的 Node、event
node-drag-enter拖拽进入其他节点时触发的事件共三个参数,依次为:被拖拽节点对应的 Node、所进入节点对应的 Node、event
node-drag-leave拖拽离开某个节点时触发的事件共三个参数,依次为:被拖拽节点对应的 Node、所离开节点对应的 Node、event
node-drag-over在拖拽节点时触发的事件(类似浏览器的 mouseover 事件)共三个参数,依次为:被拖拽节点对应的 Node、当前进入节点对应的 Node、event
node-drag-end拖拽结束时(可能未成功)触发的事件共四个参数,依次为:被拖拽节点对应的 Node、结束拖拽时最后进入的节点(可能为空)、被拖拽节点的放置位置(before、after、inner)、event
node-drop拖拽成功完成时触发的事件共四个参数,依次为:被拖拽节点对应的 Node、结束拖拽时最后进入的节点、被拖拽节点的放置位置(before、after、inner)、event

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用