我想做个如下所示的侧滑功能,在做的过程中遇到一个问题。
基于目前微信小程序提供的api, 我给了两种实现方式,但用户体验都不是很好
实现场景一:
在每个item元素上绑定了catchtouchmove后,整个页面就不会滚动了,只有在中间和旁边的间隙滑动,才会滚动,这个用户体验很不好。
实现场景二:
在每个item元素上绑定了touchmove事件,虽然整个页面可以滚动了,但是这个和item的侧滑有冲突,也就是说侧滑和页面一起动,用户体验也很不好(请参考ios的微信收藏功能)
我期望的做法是:我在item上touchmove的时候,若在y轴方向上的距离变化小于30,我认为是在侧滑,这个时候应该阻止页面滑动,只允许侧滑。否则就禁止侧滑,只允许页面上下滑动
希望可以像javascript的stopPropagation那样,可以动态设置冒泡行为。而不是直接写死catchtouchmove。
期望官方早日回答,我看其他用户也有类似的困惑,谢谢。
这个提议非常合理,事件不可动态阻止冒泡,且还没有 disable page scroll 这样的 api, 做侧滑 tab 切换根本无法照顾用户体验,我试过N中办法了,浮层,动态设置 page 高度等等,体验都很差,因为 setData 本身就有一定延迟
就没有人用这个侧滑的功能吗? 大家可以体验下腾讯文档这个小程序,就是我说的第二种情况,用户体验很差,腾讯自己都不care这个吗?@官方
你都说了。。那就用代码实现呀。。我也是这么做的。本来我左右滑动是做的按着的时候,item跟着左右滑,但是后来发现android上有一点点卡顿,让我觉得很不舒服,后来改成了滑动一定距离就展开,往回一定距离就收起
侧滑的时候没有办法阻止上下滑动的呀,你怎么做到的?监听onPageScroll?
哦! 你用的page的滚动啊! 我用的 scroll-view~