vue中使用antv(蚂蚁)G2中宽度自适应问题

11 篇文章 1 订阅

上图:

结构采用栅格布局,左侧图表设置了宽度自适应(forceFit)。然而页面在刚开始刷新的时候,canvas超出了父元素的宽度。如果改变浏览器的大小,window.resize的时候才会触发forceFit: true这个属性,才会自适应屏幕的宽度,这时图表的大小是正常的。

查找诸多解决办法后,经发现,最简单的方法如下

Vue版:在mounted周期函数中,初始化图表之后,加入下面代码

const e = document.createEvent('Event')
    e.initEvent('resize', true, true)
    window.dispatchEvent(e)

React版:在componentDidMount周期函数中加入上述代码(未测试)

另外,还可以参考开源库如https://github.com/KyleAMathews/element-resize-event

不过我在安装element-resize-event组件的时候遇到一些问题,具体没深入研究,有兴趣可以一起探讨

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值