uni-app微信小程序使用echarts的详细图文教程

网友投稿 548 2023-11-13

目录前言:首先,-echart组件。然后找到 node_modules\mpvue-echarts\下的文件,如图接着需要echarts.min.js文件。需要准备的东西都已经好了,接下来正片开始!!总结

前言:

本来是使用的ucharts,但因为无法监听图例点击交互,满足不了需求,所以只能放弃。

首先,-echart组件。

uni-app微信小程序使用echarts的详细图文教程

可以先随便建个文件夹,然后 npm init。接着-依赖

?
1
npm install echarts mpvue-echarts

然后找到 node_modules\mpvue-echarts\下的文件,如图

只留下src,其他的删掉(没有用到)。然后复制 mpvue-echarts文件夹到你项目的components中。如图

接着需要echarts.min.js文件。

链接: ECharts 在线构建定制echarts的js文件,选择自己项目需要的图表及组件,可以选择进行代码压缩。

把-下来的 echarts.min.js放到你的项目中。!!!还需要修改里面的代码,

!!!修改 echarts.min.js,否则会报错 t.addEventListener is not a function。

1.增加代码

如下图

2.修改 Le 和 Pe 函数(可通过ctrl+f搜索)如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// An highlighted block
function Pe(t, e, n, i) {
if (isDomLevel2) {
t.addEventListener(e, n, i)
} else {
t.attachEvent(on + e, n)
}
}
function Le(t, e, n, i) {
if (isDomLevel2) {
t.removeEventListener(e, n, i)
} else {
t.detachEvent(on + e, n)
}
}

3.全文搜索 preventDefault() 修改当前的方法函数增加判断(我一开始没改这个,图表正常没啥问题,但是我用dataZoom滑动时会报错“t.preventDefault is not a function”,然后改为如下代码后就能正常滑动了)

如下

?
1
2
3
4
5
6
7
// An highlighted block
if (isDomLevel2) {
t.preventDefault(), t.stopPropagation(), t.cancelBubble = !0
} else {
t.returnValue = false;
t.cancelBubble = !0
}

压缩的代码格式化后体积增加了1倍,所以我最后没有格式化,直接在压缩的代码里找到对应位置修改的。

需要准备的东西都已经好了,接下来正片开始!!

在页面中使用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<template>
<view class="echarts-wrap">
<my-echarts
id="main"
ref="mapChart"
:echarts="echarts"
:onInit="initChart"
/>
</view>
</template>
<script>
import * as echarts from "@/pages/data/static/js/echarts.min.js";  //这里根据自己存放的路径修改
import myEcharts from "@/pages/data/components/mpvue-echarts/src/echarts.vue"; //这里根据自己存放的路径修改
let chart = null;  //放外层方便拿到echart实例
export default {
components: {
myEcharts,
},
data() {
return {
echarts,
};
},
onReady() {},
mounted() {
setTimeout(() => {
chart.on("click", (params) => {  //监听图例点击事件(详细参见echart文档)
this.$emit("chartClick", params);
});
}, 500);
this.updateData() //模拟动态更新数据
},
methods: {
initChart(canvas, width, height) {
chart = echarts.init(canvas, null, {
width: width,
height: height,
});
canvas.setChart(chart);
var option = {
xAxis: {
type: "category",
data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
},
yAxis: {
type: "value",
},
series: [
{
data: [120, 200, 150, 80, 70, 110, 130],
type: "bar",
},
]
}; // ECharts 配置项(详细的图表配置参见 echart配置项)
chart.setOption(option);
return chart; // 返回 chart 后可以自动绑定触摸操作
},
updateData(){
setTimeout(()=>{
chart.setOption({
series:[{
data:[30, 90, 111, 20, 70, 88, 11]
}]
})
},1000)
},
},
};
</script>
<style>
.echarts-wrap {
width: 100%;
height: 300px;
}
</style>

详细的图表配置参见 echart配置项 最后效果:

总结 

到此这篇关于uni-app微信小程序使用echarts的文章就介绍到这了,更多相关uni-app微信小程序使用echarts内容请搜

您可能感兴趣的文章:uni-app小程序实现微信在线聊天功能(私聊/群聊)微信小程序使用uni-app一键获取用户信息微信小程序使用uni-app实现首页搜索框导航栏功能详解如何基于uni-app实现微信小程序一键登录与退出登录功能解决uni-app微信小程序input输入框在底部时,键盘弹起页面整体上移问题微信小程序使用uni-app开发小程序及部分功能实现详解uni-app 微信小程序授权登录的实现步骤uniapp微信小程序多环境配置以及使用教程Vue微信和uniapp配置环境地址

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:快速进行商城App开发
下一篇:零编程开发app可以这样做
相关文章

 发表评论

暂时没有评论,来抢沙发吧~