百度echart resize的坑

需求:根据数据量的大小,动态调整echart柱形图的宽度。

实现构想:根据数据的size调整div的大小,然后调用echart对象的resize方法重置柱状图的宽度:

                // 图的大小动态自动调整
                let compactWidth = data.size*32;
                let width = compactWidth < 1860 ? 1860 : compactWidth;
                this.chartStyle.width = width + "px";
                vueVisit.visitChart.resize();

碰到的问题:柱状图并没有动态的改变了宽度,而是下次再调整一次才生效。

原因分析:应该是echart渲染或者读取div的宽度什么的延迟了。。。

解决方法:延时100毫秒再调用echart对象的resize方法:

                // 图的大小动态自动调整
                let compactWidth = data.size*32;
                let width = compactWidth < 1860 ? 1860 : compactWidth;
                this.chartStyle.width = width + "px";
                setTimeout(function(){
                    vueVisit.visitChart.resize();
                }, 100); //需要一个延迟,resize()才能生效

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值