Echarts图表在页面窗口大小改变下重新渲染

主要是监听窗口大小调用echarts提供的resize方法。

<template>
  <div class="main">
    <div id="pie"></div>
  </div>
</template>
data() {
    return {
      option: {
        tooltip: {
          trigger: 'item'
        },
        legend: {
          left: 'center',
          top: '10'
        },
        series: [
          {
            name: 'Access From',
            type: 'pie',
            radius: '50%',
            top: '25',
            data: [
              { value: 1048, name: 'A' },
              { value: 735, name: 'B' },
              { value: 580, name: 'C' },
              { value: 484, name: 'D' },
              { value: 300, name: 'E' },
              { value: 245, name: 'F' },
            ],
            emphasis: {
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
              }
            }
          }
        ]
      }
    }
  },
  mounted() {
    this.init()
    window.addEventListener('resize', this.handleResize);
  },
  methods: {
    init() {
      let chartDom = document.getElementById('pie');
      let myChart = echarts.init(chartDom);
      this.option && myChart.setOption(this.option);
    },
    handleResize() {
      let chartDom = document.getElementById('pie');
      let myChart = echarts.init(chartDom);
        // 调用Echarts实例的resize方法,重新绘制图表
      myChart.resize()
    }
  },
  beforeDestroy() {
    // 在组件销毁前解绑resize事件
    window.removeEventListener('resize', this.handleResize);
  }
#pie{
    width: 100vw ;
    height: 100vh;
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值