第一种 使用dispose()方法清除实例
// 封装的方法,在每次使用init()方法创建echarts实例前调用即可,判断dom是否存在,这里传入的name是实例 const domIsExistence = (name) => { if (name != null && name != "" && name != undefined) { name.dispose(); //解决echarts dom已经加载的报错 } };
复制
第二种 使用echarts.getInstanceByDom()方法
echarts.getInstanceByDom()这个方法用来获取Dom容器上的实例,如果存在实例就直接使用已存在的实例进行编辑,如果没有就创建新实例进行编辑。
//先获取Dom上的实例 let myChart = echarts.getInstanceByDom(document.getElementById("main") as HTMLDivElement); //然后判断实例是否存在,如果不存在,就创建新实例 if (myChart == null) { myChart = echarts.init(document.getElementById("main") as HTMLDivElement); }
复制