实现柱状图使用了v-if或v-show做判断时,柱图要么显示一半要么不显示,使用v-if的时候,当条件为false时,会出错,因为此时div是不存在的,所以无法对图表进行初始化。v-show结构已经存在,当数据发生变化时,结构并未重新渲染,会出现 echarts 图表未获取到最外层大盒子的宽度而显示一半的情况
解决方法
updated() {
this.chart.resize();
},
/*项目echarts部分代码*/
this.chart=echarts.init(document.getElementById('chart'));
this.chart.setOption(option);
// 根据屏幕大小调节图表,最好使用防抖方法
window.addEventListener("resize", ()=>{
this.chart.resize();
})