问题:

       keep-alive包裹的el-tabs中有两个页面使用了echart,在resize后切换,echart会出现空白现象,需要再resize才会出现;

解决方法:

        在keep-alive包裹的组件中加入如下代码:

 activated: function () {
      var canvasObj = document.getElementsByTagName("canvas");
      if(canvasObj && canvasObj.length>0){
          var canvasH = canvasObj[0].clientWidth;
          if(canvasH==0){
           // location.reload();
          }
      }
    }
  }

参考:

Vue使用keep-alive导致echarts二次渲染空白的解决方案 - liuxu_xrl - 博客园

Vue中keep-alive原理_vue keep-alive原理_前端吕小布的博客-CSDN博客

Logo

更多推荐