最近使用uniapp做小程序遇到一个问题,需要开发 图表功能,我选用了秋云 ucharts echarts 高性能跨全端图表组件。很快实现了功能。但是在真机测试的时候发现一个问题。
当页面的高度超过手机的高度的时候,滑动页面时canvans 图表也随着滚动,然后发现布局错乱了, 借鉴他人的的方法,给canvas 增加disable-scroll=“true” 并给canvas绑定一个触摸事件促使disable-scroll生效。真机运行的时候发现 是不会错位影响布局。但是当你点击区域处于canvans 区域内时 页面不能滚动了。
在不断地尝试中, 我突然想起tap事件有点透的功能,于是我猜想给canvans绑定的事件 用tap替代click 。是不是就可以可解决上面遇到的问题。修改后真测试发现真的可以做到,遇到的问题解决了
微信小程序官方文档有说明,disable-scroll=“true” 可以阻止页面下拉和滚动。这里有个坑,disable-scroll在真机上如果要生效,那么要给canvas绑定一个触摸事件才能生效,为了避免点击在图表区域不能滑动页面,使用tap穿透事件,绑定canvas的触摸事件