tab栏切换时 echarts渲染问题(详细分析)

最近写项目中用到tab栏切换,第二个tab需要渲染echarts,然后发现echarts无法显示

tab栏切换时 echarts渲染问题(详细分析)_第1张图片
我通过分析发现是因为tab切换后,填充数据那个div高度为0,并且这时候setOption已经执行了
tab栏切换时 echarts渲染问题(详细分析)_第2张图片
解决办法1:给echarts容器固定住宽高,缺点:没办法自适应
tab栏切换时 echarts渲染问题(详细分析)_第3张图片
解决办法2:在tab切换的后重新加载echatrs

    
    handleClick({ name }) {//点击tab切换
      if (name === '2') {
        //判断是否为投放数据,从而解决echarts渲染问题
        console.log(this.$refs.refChart);
        this.$refs.refChart.updateOption() //渲染函数
      }
    }

   updateOption() {
      this.$nextTick(() => {
        const myChart = echarts.init(this.$refs.echarts);
        myChart.setOption(this.option);
      })
    }
     #chart {
         height: 100%;
     }


你可能感兴趣的:(vue.js,javascript,html,vue,js)