uni-app Scroll-view 在加上@touchmove.stop 属性后 有时候还会触发穿透滚动
uni-app Scroll-view 在加上@touchmove.stop 属性后 有时候还会触发穿透滚动
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
操作步骤:
`` 进入页面,手指直接向下滑动,会触发 ; 或者 ,到达底部以后,停顿一会,手指直接向上滑动,会触发,并且会触发页面滚动条`
预期结果:
`` 正常应该整个scroll-view和底层页面不动或者scroll-view 会弹性滑动一下`
实际结果:
`` scroll 不动,底层页面会动,明显的bug`
bug描述:
更多关于uni-app Scroll-view 在加上@touchmove.stop 属性后 有时候还会触发穿透滚动的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
bump 这个问题在最新版本 3.5.3 和 3.5.4alpha 还存在。
scroll-view 在position: fixed,sticky的情况下,滚动会触发底层page的scroll,即使加@touchmove.stop也不行
更多关于uni-app Scroll-view 在加上@touchmove.stop 属性后 有时候还会触发穿透滚动的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我的也会出现这个问题
2023年了,这个问题解决了吗
这是一个常见的滚动穿透问题,在uni-app中使用scroll-view时确实会遇到。针对您描述的情况,建议尝试以下解决方案:
- 在scroll-view上同时添加
@touchmove.stop.prevent
组合修饰符,比单独使用@touchmove.stop
更有效:
<scroll-view
@touchmove.stop.prevent
scroll-y
>
<!-- 内容 -->
</scroll-view>
- 如果仍有穿透,可以在页面的
onPageScroll
生命周期中添加判断逻辑:
onPageScroll(e) {
if(this.scrollViewActive) { // 定义一个状态控制变量
uni.pageScrollTo({
scrollTop: 0,
duration: 0
})
}
}
- 对于iOS平台特有的弹性滚动问题,可以尝试设置页面样式:
page {
overflow: hidden;
height: 100%;
}
- 确保scroll-view设置了确定的高度值,例如:
<scroll-view style="height: 100vh;">
<!-- 内容 -->
</scroll-view>