写了四个echarts , 发现第一次打开没问题,但是从其他页面跳转过来就有问题了,只显示一个,后三个都显示不了,但是刷新后又没问题了。
原因:
图表的dom属性中发现了一个特殊的属性:echarts_instance,对应的值是一个id,可能是由于再次渲染时这个id未发生改变导致ehcarts认为不需要重新渲染。
echarts的渲染是从setOption中开始的,不是从echarts.init()开始。
echarts每次绘制都需要创建一个Echarts的实例,返回echartsInstance。
解决思路
解决办法就是我们在重新创建的时候,移除之前创建的实例并且重新创建一个Echarts实例:
let a = document.getElementById("echart");
a.removeAttribute('_echarts_instance_');
const myChart = echarts.init(a);