Vue中使用vue-tree-color组件构建组织架构图完整指南
本文详细介绍如何在Vue项目中集成vue-tree-color组件以构建组织架构图。内容涵盖组件安装、基础用法、水平排列切换、折叠展开交互及节点点击事件处理,提供完整代码示例与配置说明,帮助开发者快速实现功能丰富的树形展示效果。
使用npm进行安装
# use npm
npm install vue-tree-color
安装loader依赖
npm install --save-dev less less-loader
引入插件配置
import Vue from 'vue'
import Vue2OrgTree from 'vue-tree-color'
Vue.use(Vue2OrgTree)
开始使用
由于组件已预先安装,可直接在Vue页面中通过组件标签调用,并动态绑定data数据(该数据需为递归结构)
<vue2-org-tree :data="data"/>
将data数据嵌入页面结构中
在data数据结构中,id字段需为每个元素分配唯一标识,label对应name属性,children则指向其子集数据

调整排列布局
前文展示的是默认垂直排列模式,实际上还支持水平排列方式
# 只需要加上 horizontal 即可
<vue2-org-tree :data="data" :horizontal="true" />
具体效果展示

实现折叠功能
需添加collapsable属性以启用折叠特性
<vue2-org-tree :data="data" :horizontal="true" collapsable />

若要实现展开操作,需调用组件内置方法
监听on-expand事件
<vue2-org-tree :data="data" :horizontal="true" collapsable @on-expand="onExpand" />
JavaScript逻辑部分
methods: {
collapse(list) {
var _this = this
list.forEach(function(child) {
if (child.expand) {
child.expand = false
}
child.children && _this.collapse(child.children)
})
},
onExpand(e, data) {
if ('expand' in data) {
data.expand = !data.expand
if (!data.expand && data.children) {
this.collapse(data.children)
}
} else {
this.$set(data, 'expand', true)
}
}
}
最终运行效果

处理节点点击事件
绑定on-node-click方法以捕获点击行为
<vue2-org-tree :data="data" :horizontal="true" collapsable @on-expand="onExpand" @on-node-click="onNodeHandle" />
JS代码实现
onNodeHandle(e, data) {
// e是节点数据
console.log(e)
// data是渲染在节点上的数据
console.log(data)
},
控制台打印输出结果


扩展功能介绍
该组件还提供其他常用功能,例如设置节点颜色、处理鼠标移入移出事件等,具体可参考GitHub地址进一步了解
点击下方链接可访问组件更多功能文档
https://github.com/hukaibaihu/vue-org-tree#readme
至此,关于Vue中vue-tree-color组件实现组织架构图的案例详解已完成,更多相关内容可查阅本站往期文章或继续浏览后续内容,感谢支持!
electron-builder打包与发布Electron应用
2026-11-01 05:18:32
Vue结合el-table实现表格行拖拽排序(基于sortablejs)
2026-11-01 01:30:37
详解如何在Vue中进行表单自定义验证
2026-11-01 01:17:28
UniApp 项目中 vue.config.js 配置指南
2026-11-01 00:21:50
uni-app全局变量的四种实现方式总结
2026-11-01 00:15:49








