记录一下,使用echarts碰到的问题,页面切换后,表不显示,而且不是百分百出现,多次点击页面切换页面,可能出现这个问题
方案一:
手动删除 Echarts 默认生成的 _echarts_instance_ 属性
const domMap = document.getElementById("你的图id");
// 清除Echarts默认添加的属性
domMap.removeAttribute("_echarts_instance_");
let myChart = this.$echarts.init(domMap);
myChart.setOption({})
方案二:
this.$nextTick(()=>{myChart.resize()})
使用 $nextTick 的回调 配合 echarts 子代的resize来重新设置图表的 宽高
建议在声明周期也使用:
mounted() {
this.$nextTick(() => {
this.initChart()
})
},
总结:使用监听或路由守卫,等页面切换回来之后,手动强制刷新echarts表
如果是显示隐藏的话,尽量使用 v-if 。
博客内容讲述了在使用Echarts过程中遇到的一个问题,即页面切换后图表可能无法正常显示,该问题并不总是出现。作者提供了两种解决方案:一是手动删除Echarts生成的_echarts_instance_属性并重新初始化图表;二是利用Vue的$nextTick结合echarts的resize方法来调整图表大小。建议在组件生命周期中使用$nextTick,并且对于显示隐藏操作,推荐使用v-if。此外,还提到使用监听或路由守卫可以确保页面切换后图表的正确刷新。



7596

被折叠的 条评论
为什么被折叠?



