近期在实现组织结构树这一功能,用echarts的树形图表实现之后,觉得样式不能调整为自己想要的,且偏差较大。于是,在了解了相关的插件后,使用 vue2-org-tree 这一插件实现这一功能,对其中的坑有点体会。
1.安装 vue2-org-tree
npm i vue2-org-tree --save-dev
2.安装 loader
npm install -D less-loader less
*:官方文档引入样式的时候是导入的 less 文件
3.项目中导入 vue2-org-tree
import Vue2OrgTree from 'vue2-org-tree';
Vue.use(Vue2OrgTree)
*:在 main.js 中引入,并且要在引入 vue 之后
4.引入样式
@import '/src/common/css/org-tree.less';
*:在当前 vue 文件的 style 标签设置 lang="less",并且将 scoped 属性删除,否则样式不起作用。一定要引入这个文件,否则
*:文件的路径可以自己选择,该 less 文件点击右边链接下载:org-tree.less
5.基础代码
<vue2-org-tree name="test" :data="data"/>
基础效果:
6.相关配置,样式调整
*:horizontal 组织结构图的排列方式,水平还是竖直,值为true 或 false
collapsable 折叠效果,值为true 或 false
label-class-name 修改背景色,支持自定义类名
render-content 定义如何渲染 node 标签,绑定的 renderContent 是函数
on-expand 定义折叠的组织结构如何展开,该函数参数必须传两个,第一个是 e ,第二个是 data
on-node-click 定义当前节点被点击时执行的方法
上述如有不妥之处,还请各位讨论交流。