在使用vue模板中需要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);

Logo

前往低代码交流专区

更多推荐