出现这个情况真是令人费解,呀呀呀呀呀!
好好一个雷达图用 v-if 时会出现没有获取到dom结构而报错,所以要用 v-show,但使用 v-show 他是本身是结构就已经存在,当数据发生变化时,结构并没有重新渲染,所以会出现 echarts 图获取不到最外层大盒子的宽度而显示100px的情况,如下图明明设置了宽高,还不撑满!!!!
解决方法:
- 将v-show改成v-if
- 利用vue中自带的 Vue.nextTick(function () { }) 主动触发一下图表,使之强制渲染就可以了
this.$nextTick(()=> { this.drawLine(); })