Echarts加载异常(100%识别为100px)

在这里插入图片描述
第一遍尝试的帖子,评论说解决了他们的问题,但是我没有被解决,也不知道是哪里的问题
第一次测试帖子
第二遍尝试的帖子,解决了我的问题,但是图表不会自适应了
第二次测试帖子
我的跟第二次测试的情况相似
第二帖子
因为我也是在tab中使用echart,而且是第二个选项卡,第一次Echarts 还未找到这个元素。
尝试多次,当选项卡选中第二个选项时重新对Echarts初始化函数进行初始化。亲测有效,代码如下:
因为我对图标进行了封装,且对ActiveName进行了监听,当父组件传过来的ActiveName发生了变化,并且值为我所想要的页面的值,则重新执行drawGraph函数,对图标进行初始化,此时Dom已存在,Echarts也能识别宽度,并正常绘制。

  watch: {
    activeName(newValue, oldValue) {
      this.tabActiveName = newValue
      if (this.tabActiveName === 'event') {
        this.drawGraph(this.id, this.data)
      }
    }
  },
 props: {
    id: { type: String, default: null },
    data: { type: Object, default: null },
    activeName: { type: String, default: '异常事件' }
  },
 // 方法集合
  methods: {
    drawGraph(id, data) {
      const self = this
      const myChart = document.getElementById(id)
      self.barChartGraph = self.$echarts.init(myChart)
      self.barChartGraph.setOption(data)
      self.barChartGraph.resize()
      window.addEventListener('resize', () => {
        self.barChartGraph.resize()
      })
    }
  }

父组件的html:

<template>
  <el-scrollbar style="height:100%">
    <div class="stat-container app-container">
      <div class="main">
        <el-tabs v-model="activeName" style="height:100%">
          <el-tab-pane label="桥面流量" name="bridge">
            <BridgeFlow :active-name="activeName" />
          </el-tab-pane>
          <el-tab-pane label="异常事件" name="event">
            <AbnormalEvents :active-name="activeName" />
          </el-tab-pane>
        </el-tabs>
      </div>
    </div>
  </el-scrollbar>
</template>

不积跬步无以至千里。
希望对大家有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值