前言:
今天在用g2做图表的时候,弄个柱状图第一次怎么也不能自适应,想了好久。找到两种方法,分享给大家。
先解释为什么canvas没有按照容器大小自适应呢,而是默认100px呢?
原因:
这是因为没有找到元素的大小所以画了个基础约定的大小100px。
看到这里就知道这么做了吧。这肯定是在图表渲染的时候。这是容器还没进行创建完毕,这才导致100px的大小。
解决办法:
①:this.$nextTick进行解决
mounted(){
this.$nextTick(()=>{
this.initEChart()
})
},
②:通过自定义事件触发resize,从而达到自适应
mounted(){
this.initEChart()
const e = document.createEvent('Event')
e.initEvent('resize', true, true)
window.dispatchEvent(e)
},