在开发中,有时候会遇到展示一些人物关系,上下级关系等相关需求,使用树状图可以清晰的表达出来

首先看下目录结构

- component- echarts- ec-canvas.js- ec-canvas.json- ec-canvas.wxml- ec-canvas.wxss- echarts.min.js- wx-canvas.js
- pages- treeView- treeView.js- treeView.json- treeView.wxml- treeView.wxss
- app.js
- app.json………………

首先,将echarts 以组件的形式放到项目里来,大家可以去ECharts 的微信小程序版本去下载资源,然后放到项目中来

下面看下页面

treeView.wxml

<view class="box" style="height: 1000rpx;"><echart id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></echart>
</view>

treeView.js


import * as echarts from '../../component/graph/echarts.min.js';
let chart = null;
Page({/*** 页面的初始数据*/data: {data: {id: 1,name: 'A',intro: '这是A',children: [{id: 2,name: 'B',intro: '这是B',},{id: 3,name: 'C',intro: '这是C',children: [{id: 5,name: 'E',intro: '这是E',},{id: 6,name: 'F',intro: '这是F',children: [{id: 7,name: 'G',intro: '这是G',},{id: 8,name: 'H',intro: '这是H',}]}]},{id: 4,name: 'D',intro: '这是D',children: [{id: 9,name: 'K',intro: '这是K',},{id: 10,name: 'L',intro: '这是L',children: [{id: 11,name: 'm',intro: '这是m',},{id: 12,name: 'n',intro: '这是n',}]}]}]}},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.initChart()},initChart() {this.ecComponent = this.selectComponent('#mychart-dom-bar')this.ecComponent.init((canvas, width, height) => {let data = this.data.data;let id = data.idchart = echarts.init(canvas, null, {width: width,height: height});canvas.setChart(chart);let option = {tooltip: {show: true,trigger: 'item',triggerOn: 'click',formatter: function (params) {// console.log(params)return params.data.intro},position: function (pos, params, dom, rect, size) {// console.log(pos)// 鼠标在左侧时 tooltip 显示到右侧,鼠标在右侧时 tooltip 显示到左侧。var obj = { top: pos[1] + 3, right: size.viewSize[0] - pos[0] + 8 };if (params.data.id == id) {obj = { top: pos[1] + 3, left: pos[0] + 8 };}return obj;}},series: [{type: 'tree',data: [data],top: '5%',left: '5%',bottom: '5%',right: '5%',symbolSize: 12,// edgeShape: 'polyline', // 直线// orient: 'vertical', //竖着label: {position: 'right',verticalAlign: 'bottom',align: 'left',fontSize: 12},leaves: {label: {position: 'left',verticalAlign: 'bottom',align: 'right',fontSize: 12}},expandAndCollapse: true,animationDuration: 550,animationDurationUpdate: 750}]};chart.setOption(option);chart.on('click', function (params) {// console.log(params)});return chart;})},
})

treeView.json

{"usingComponents": {"echart": "../../component/graph/ec-canvas"},"navigationBarTitleText": "treeView"
}

最终实现效果:

END !

微信小程序 ———— 使用ECharts实现树状关系图相关推荐

  1. 微信小程序使用echarts实时更新数据以及常见bug

    ** 微信小程序使用echarts实时更新数据以及常见bug ** 参考echarts官方文档:https://echarts.apache.org/zh/tutorial.html 下载小程序ech ...

  2. 微信小程序给echarts图表动态赋值

    微信小程序给echarts图表动态赋值 接上一篇:微信小程序引入echart图表 直接上例子(运行需要结合上一篇,拉至文章顶部进入): import * as echarts from '../../ ...

  3. 微信小程序利用echarts实现中国任意行政区域地图

    微信小程序利用echarts实现中国任意行政区域地图 前言 实现 克隆代码 集成 点击事件 点击跳转 代码改造 尾巴 前言 最近微信小程序中需要绘制地图,然后点击地图可以跳转到下一层级.研究了一番,选 ...

  4. 微信小程序使用echarts绘画动态图表

    微信小程序使用echarts绘画动态图表 首先我们从官网下载echarts插件,路径是https://github.com/ecomfe/echarts-for-weixin,把echarts文件放到 ...

  5. 微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大

    微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大 引入echarts组件 展示echarts图表数据 延迟加载图表 如何解决echarts文件过大 引入echarts组件 ...

  6. 微信小程序使用Echarts真机调试报错,Echarts占内存过大解决方法

    Echarts真机调试报错 解决办法:给组件添加force-use-old-canvas="true"属性就可以在真机调试里展示. 重点:发布线上时,一定要将这句去掉,现在只是不支 ...

  7. UNIAPP微信小程序使用Echarts

    UNIAPP微信小程序使用Echarts 1. 前言 ​ 最近要在uniapp做的小程序中使用echarts,网上搜了很多教程都很麻烦,这里提供一种简便快捷CV方案. ​ 先说下图表选型的问题,如果你 ...

  8. 微信小程序使用echarts不显示的问题

    前几天在微信小程序中用echarts发现不显示,主要有一下几个可能 一.没配置好json,应配置如下 {"usingComponents": {"ec-canvas&qu ...

  9. 微信小程序使用echarts/数据刷新重新渲染/图层遮挡问题

    微信小程序使用echarts/数据刷新重新渲染/图层遮挡问题 1.微信小程序使用echarts,首先下载echarts并导入小程序项目中,因小程序后期上线对文件大小有要求,所以建议进行定制下载导入可减 ...

最新文章

  1. #51CTO学院四周年#让学习成为习惯
  2. python有趣代码-一个有意思的 Python 训练项目集
  3. iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU近100%导致网站反应速度缓慢的解决方案...
  4. 【Java】辨析JUnit4中的@AfterClass、@BeforeClass、@after、@before
  5. LintCode,hihoCoder,LeetCode有什么区别?
  6. Oracle实战笔记(第二天)
  7. 每日长难句打卡Day23
  8. 还是畅通工程 最小生成树
  9. android 编译 c 程序,Android上通过gcc编译普通的C程序
  10. pandas 字符串切片后保存_Pandas时间序列基础详解(转换,索引,切片)
  11. Druid 在有赞的实践
  12. Java 二叉树的层序遍历
  13. 20190131-JS - Promise使用详解--摘抄笔记
  14. 阿尔卡特交换机配置_ALCATEL-交换机配置手册(中文).doc
  15. 2022年全球光纤机械接头市场前景分析及研究报告
  16. android studio avd manager 命令行,avdmanager
  17. Flink on Yarn(HA配置)
  18. 安卓移动应用开发之从零开始写安卓小程序
  19. 计算机主机背影便接口,装机日记二 背影哥手把手教你攒电脑
  20. php对接AliGenie天猫精灵服务器控制智能硬件esp8266② 全面认识第三方授权机制 oauth2.0 协议,如何在 php 上搭建 oauth2.0服务端!(附带demo)

热门文章

  1. bi平台怎么选,一文详解
  2. 丰子恺:不宠无惊 过一生
  3. 一些好用的APP分享
  4. myrocks vs mysql_MySQL · myrocks · clustered index特性
  5. 关于项目的可行性分析
  6. 关于工业相机编程调用SDK二次开发的一些步骤流程(转)
  7. hutool 解读(三)—— IO流
  8. 七个星期中的七个数据库– Hbase第二天
  9. Vue 无法展示网络图片处理方案
  10. MTCTF_Crypto