vue中使用antv g2中宽度自适应问题

2,446 阅读1分钟

上图:

结构采用栅格布局的方式,左边图表设置了宽度自适应 autoFit:true。页面首次进入的时候canvas的宽度超出的了父元素的宽度。如果改变 浏览器的大小,触发了window.resize的时候才会触发autoFit:true 这个属性,才会自适应屏幕的宽度,图表大小才会正常。

vue版本解决方法:在mounted周期函数中,初始化图表之前加入下面代码,将初始化图表的方法放在setTimeout里面

 mounted() {
      const init = document.createEvent('Event')
      init.initEvent('resize', true, true)
      window.dispatchEvent(init)
      setTimeout(()=>{
        this.chart();
      },10)
  },

这是图表是正常的。