Skip to content

Tree 树形

规则

基础示例(默认勾选)

形态示例

整段禁用(节点禁用)

节点数据设置 disabled: trueprops 默认已映射 disabled 字段。

Events 示例

Props

名称类型默认值说明
accordionbooleanfalse是否为手风琴模式,每次只打开一个同级树节点展开
add-disabled-keysstring[]禁止添加的节点 key 值列表,也可通过 setAddDisabledKeys 方法设置
after-load(nodes: object[]) => void下级树节点数据加载完毕后的回调函数
allow-drag(node) => boolean判断节点能否被拖拽
allow-drop(srcNode, targetNode, type) => void拖拽时判定目标节点能否被放置。typeprev(前)、inner(插入至节点)、next(后)
check-on-click-nodebooleanfalse是否点击节点时自动勾选节点
check-strictlybooleanfalse是否为父子严格模式
current-node-keystring当前选中节点
dataArray数据源;默认通过数据项的 labelchildren 展示
default-checked-keysstring[]默认勾选的节点的 keys
default-expand-allbooleanfalse是否默认展开所有节点
default-expanded-keysstring[][]默认展开节点的 keys;属性变化时会收起全部并重新展开指定项
delete-disabled-keysstring[]禁止删除的节点 key 值列表,也可通过 setDeleteDisabledKeys 方法设置
delete-node-method(node) => boolean | Promise<unknown>删除节点的钩子函数;返回 false 或返回 Promise 且被 reject 则停止删除
draggablebooleanfalse是否开启节点拖拽
edit-configITreeEditConfig{}编辑模式参数配置(新增节点 id、重复警告等)
edit-disabled-keysstring[]禁止编辑的节点 key 值列表,也可通过 setEditDisabledKeys 方法设置
empty-textstring内容为空时展示的文本
expand-iconComponent指示展开的图标
expand-icon-colorstring指示展开的图标色
expand-on-click-nodebooleantrue节点在点击内容时是否展开 / 收起
filter-node-method(value, data, node) => boolean筛选树节点;返回 true 显示,false 隐藏
highlight-currentbooleantrue是否高亮当前选中节点
highlight-querybooleanfalse是否在匹配的节点中高亮搜索文字
iconComponent自定义节点图标
icon-trigger-click-nodebooleantrue点击图标展开节点时是否触发 node-click
indentnumber18相邻级节点水平缩进(像素)
lazybooleanfalse是否为异步加载模式,展开节点时再请求数据
load(node, resolve) => void加载子树数据;在 load 内调用 resolve(data) 表示返回下级数据成功
node-keystring节点唯一标识属性名称
only-check-childrenbooleanfalse是否只能选中叶子节点
propsobject{ children: 'children', label: 'label', disabled: 'disabled', isLeaf: 'isLeaf' }非标准数据格式时指定字段映射
render-after-expandbooleantrue是否在首次展开某节点后才渲染其子节点
render-content(h: Vue.h, { node, data, store }) => VNode树节点内容区渲染函数
show-auxibooleantrue平铺视图模式下是否显示节点上级路径辅助信息
show-check-easilybooleanfalse严格模式下是否显示「勾选父节点自动勾选子节点」区域
show-checkboxbooleanfalse是否为多选模式
show-checked-markbooleanfalse非多选且为 true 时,选中行右侧显示 √
show-contextmenubooleanfalse是否启用右键菜单
show-linebooleanfalse是否显示连接线
show-radiobooleanfalse是否为单选模式
shrink-iconComponent指示收缩的图标
shrink-icon-colorstring指示收缩的图标色
size'medium' | 'small'组件大小
view-type'tree' | 'plain'tree视图模式:tree 普通树,plain 平铺

Events

名称类型说明
add-node(node) => void添加节点
check(data, currentChecked) => void勾选节点后;data 当前选中节点,currentChecked 组件当前选中状态
check-change(data, checked, indeterminate) => void节点选中状态变化;data 节点信息,checked 勾选状态,indeterminate 半选状态
check-plain(plainNode, value) => void平铺模式下勾选/取消勾选(需 show-checkbox);valuetrue/false
close-edit() => void关闭编辑
current-change(data, currentNode) => void当前选中节点变化;currentNode 为节点状态信息
delete-node(node) => void删除节点
edit-node(node) => void修改节点
leave-plain-view(plainNode, event) => void平铺模式下点击节点定位图标;event 为原生事件
load-data(data) => void懒加载加载成功;data 为加载的数据
node-click(data, node, vm) => void点击节点;node 节点状态,vm 组件实例
node-collapse(data, node, vm) => void收缩节点后
node-contextmenu(event, data, node, vm) => void节点右键;event 原生事件
node-drag-end(srcNode, targetNode, dropType, event) => void拖拽结束(可能未成功);dropTypebefore/after/inner/none
node-drag-enter(srcNode, targetNode, event) => void拖拽进入其他节点
node-drag-leave(srcNode, targetNode, event) => void拖拽离开节点
node-drag-over(srcNode, targetNode, event) => void在节点上拖拽移动
node-drag-start(node, event) => void开始拖拽节点
node-drop(srcNode, targetNode, dropType, event) => void拖拽成功完成
node-expand(data, node, vm) => void展开节点后
open-edit() => void进入编辑
save-edit(changedData, finalData) => void保存编辑

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