根据项目的需求,我们会在机柜上会有好几种可配置的图表,期间也有碰到很多问题,如重新创建echarts的时候我以为是disponse或者clear就可以,但是当我重新点回生成过的机柜时,报echarts disponse的时候找不到removeChild的错误,这个卡了我半天一直没找到相应的解决办法
直到看到一篇文章是说echarts渲染第一次之后第二次不能重新渲染的问题,发现每个生成完的echarts后都会生成一个_echarts_instance_的参数来指定当前的echarts的id,再次创建的时候这个参数存在就会报错
所以解决办法是
let a = document.getElementById("echart");
a.removeAttribute('_echarts_instance_');
const myChart = echarts.init(a);
每次重新创建前清除这个属性即可