首先,uniapp当中使用echarts是在通过使用renderjs的script模板的前提下实现的,在官方提供的案例当中,核心代码是这一部分:

但如果将其封装为组件,并在一个页面当中引用多次来生成多个charts图标,那么这个时候就会出现上下之间charts图错乱的问题
问题解决:
initEcharts() {
myChart = echarts.init(this.$el)
myChart.setOption(this.option)
},
updateEcharts(newValue, oldValue, ownerInstance, instance) {
myChart = echarts.init(ownerInstance.$el)
myChart.setOption(newValue)
}
经过分析和反复测验,发现只需要在这两个钩子当中重新init charts,并且init需要通过this.$el来获取而并不能通过document.getElementById来获取,这样,在组件渲染多个charts的时候,就可以通过获取到当前的实例来精准的渲染出来
文章讲述了在uniapp中使用Echarts时,如何避免在页面中多次引用组件导致的图表错乱问题。关键在于正确初始化图表,需在initEcharts方法中通过this.$el而非document.getElementById获取DOM元素,以确保每个实例的独立渲染。

被折叠的 条评论
为什么被折叠?



