vue项目树状图的实现

1.实现背景

项目需要直观的展示元素之间的关系,需要实现一个树状图

数据可视化可以用Echarts HighCharts,但是相关树状图的示例不够直观,且不美观

几种工具之间比较,选择了蚂蚁金服的G6来实现(在开发期间有树状图的示例,之后再看发现这个例子没有了)

2.相关技术介绍

G6图可视化引擎(蚂蚁数据可视化 G6)

G6 是一个图可视化引擎。它提供了图的绘制、布局、分析、交互、动画等图可视化的基础能力。旨在让关系变得透明,简单。让用户获得关系数据的 Insight。

3.项目集成

3.1树状图渲染公共方法

因为页面有多处用到了树状图的逻辑,所以将方法封装成了公共的方法

文件路径 /src/utils/treeNode.js

3.1.2handleTree 处理渲染数据

主要用于将后端返回的数据处理为可以成功渲染树状图的数据格式

具体逻辑解释见代码中注释

export function handleTree(data,currentComponent){
  // 判断数据类型 根节点只有一个,不是数组
  if(Array.isArray(data)){
    data.forEach(item => {
      // data是后端返回数据 处理为有 id label style键值的对象,主要根据这几个值渲染树状图
    
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值