最近刚好项目里需要用到tab切换显示echarts,也同样出现了图表总是刷不出来的问题,什么v-if之类的有点扯,直接上我自己的解决办法。

代码部分:

每次tab切换时我们只需要重新获取到该标签,然后调用一下resize就行。
记住:该方法写在切换到指定页面的事件里面。以我的例子来说onViewShow就是在tab切换视图显示的事件里掉用echarts获取元素标签,然后resize()
获取标签

  • $$('chart).getNode() //实际就是获取该图表的标签

     

在VUE中使用el-tab切换的问题:

问题还是那个老问题,这里就把代码附上
首先现有在有图表标签上新增一个ref名称,然后在el-tab的切换事件tab-click中使用该函数,前提是看你echarts是怎么引入的就用什么方法,比如:我这里引入直接是使用了echarts 所以建立图表和后续使用的方法都直接使用echarts

1. 记住echarts引入的名称,我这里名称是echarts,你们可以对应的找自己的
echarts引入名称

2. 写好el-tabs和echarts的容器标签

容器标签

3.在el-tabs事件tabChange里引用echarts的resize(),前面一定要加this.$nextTick
引用
问题就解决!

Logo

前往低代码交流专区

更多推荐