Taro中如何正确监听页面滚动事件?

子源~ 阅读 5

我在Taro开发微信小程序时,想监听页面的滚动位置,但用onPageScroll好像没生效,控制台也没报错。

页面结构是普通ScrollView包裹内容,是不是得用别的方法?试过在componentDidMount里加Taro.createSelectorQuery()也不行。

onPageScroll(e) {
  console.log('scroll', e.scrollTop)
}
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
艺嘉 Dev
唉,又这个坑,我之前这样搞的。

你页面用了ScrollView包裹,那滚动的就是ScrollView组件而不是页面本身,onPageScroll当然不会触发。要么去掉ScrollView让页面直接滚动,要么就用ScrollView的onScroll事件:


  scrollY
onScroll={(e) => {
console.log('scroll', e.detail.scrollTop)
}}
>
{/* 内容 */}


两点要注意:ScrollView必须设置scrollY为true,还要给个固定高度,不然滚不动。
点赞
2026-03-01 11:44