开发项目可视化大屏的需求,有一块需要循环轮播展示echarts图表,于是选用了比较流行的swiper插件,但是实际开发时确发现,轮播到最后一个图的时候,图表并没有显示。于是,开始排查问题原因。
给图表绑定相同的类名,初始化图表的时候,通过for循环初始化。
const chartClass = document.getElementsByClassName(‘chartContainer’);
for (let i = 0; i < chartClass .length; i++) {
const ele = chartClass [i];
if (ele.innerHTML === “”) {
echarts.init(element).setOption(this.option)
}
}
注意vue项目中,图表不要使用ref绑定dom,因为编译后ref会消失,swiper复制的时候slide上面是没有ref的。