使用element的tabs切换时,echarts无法正确显示

向右看齐 2023-06-26 10:38 66阅读 0赞
  1. 最近在使用tabs切换时,发现除了第一页的echarts显示正常以外,其他的显示都不正常,具体现象如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTEyMjEyMA_size_16_color_FFFFFF_t_70

其他页的echarts会挤在一起,没办法正常显示。

1.可以在tab切换的事件中,在相应的tab页设置定时器,并在定时器中渲染echarts,以及resize对应的echarts对象。

  1. setTimeout(function () {
  2. _this.setEcharts(mychar3, echartData3, option1);
  3. mychar3.resize();
  4. }, 100)

2.也可以使用this.$nextTick

  1. this.$nextTick(function() {
  2. _this.setEcharts(mychar3, echartData3, option1);
  3. mychar3.resize();
  4. })

相比之下更推荐第二种方法,其实出现这种问题就是获取不到dom元素,因为vue渲染dom是异步加载的。

可以参考下我的代码,然后对应自己的项目进行修改

发表评论

表情:
评论列表 (有 0 条评论,66人围观)

还没有评论,来说两句吧...

相关阅读