uniApp 微信小程序中使用Echarts最详教程

3,177 阅读2分钟

最近上手uniApp,正常使用echarts的时候编译小程序发现报错,后来网上查了一下相关的资料和教程发现有好多都说的比较笼统,我把自己踩坑的经历分享一下,后续方便你们根据情况知道怎么去排查,好了,话不多说,开干!

首先第一步,这里我使用的是mpvue-echarts(github.com/avocadowang…

这里可以随便单独新建一个文件夹,然后把这个下载到这个文件夹,进入node_modules/mpvue-echarts目录,删除除src外的其他文件,如下:

第二步,因为微信小程序主包大小限制,最好是去定制Echarts包;地址(echarts.apache.org/zh/builder.…

勾选自己图标需要的图标类型,注意目前版本一定要选择5.1.2版本,因为小程序echarts插件文档 v2.1.1 默认是5.1.2版本。高版本的目前是不匹配,不报错也不会显示图标;

勾选完成后勾选代码压缩和工具集,点击下载按钮,等待即可;

第三步:在自己的uniApp项目里边新建components目录;新建common目录

将第一步的mpvue-echarts文件夹拖到components目录下,将第二步下载下来的

echarts.min.js放入components/common目录下;最终如下

第四步:打开components下的echarts.vue文件

新增  

import * as echarts from "@/components/common/echarts.min.js";//这里根据自己存放的路径修改

注释props中的echarts;

在onReady方法中添加

this.echarts = echarts

init方法中修改以下3处 const canvasId = this.canvasId;//修改

this.ctx = wx.createCanvasContext(canvasId,this);//修改

wx.createSelectorQuery().in(this); //修改

最终效果如下:

接下来可以正常使用了,可以先验证一下是否正常;在自己的页面里边引入组件,把对应的静态数据随便拉一份测试,这里我随便找了份数据:

对应图表的类型文档里有很多demo可供大家参考;注意修改文件引入路径

github.com/avocadowang…

测试正常的话就可以用起来了;如果数据是接口请求可以参考文档的lazyLoad.vue  demo文件,也可以先实例然后chart.setOption(xx)重新加载;

注意****不要把 chart 实例赋值到 this(vue 实例) 上