实现微信小程序中的下拉刷新功能

时间:2023-02-15 01:24:15

在微信小程序中,可以通过在 scroll-view 组件上添加 enablePullDownRefresh 属性来启用下拉刷新功能。同时需要在页面的 .json 文件中设置 backgroundTextStyle 和 onPullDownRefresh 两个属性。

具体步骤如下:
1.在页面的 .json 文件中添加 enablePullDownRefresh、backgroundTextStyle 和 onPullDownRefresh 三个属性。

{
  "navigationBarTitleText": "下拉刷新",
  "enablePullDownRefresh": true,
  "backgroundTextStyle": "dark",
  "onPullDownRefresh": "onPullDownRefresh"
}

2.在页面对应的 .js 文件中,实现 onPullDownRefresh 方法,并在该方法中编写数据更新的逻辑。

Page({
  onPullDownRefresh: function () {
    console.log('下拉刷新');
    // 在这里编写数据更新的逻辑
    wx.stopPullDownRefresh(); // 数据更新完成后,调用该方法停止刷新
  }
})

3.在 scroll-view 组件上设置 enablePullDownRefresh 属性,并为该组件添加一个 id 属性,以便在 onPullDownRefresh 方法中获取该组件实例并调用其 scrollTop 方法。

<scroll-view id="scrollView" scroll-y="{{true}}" style="height:200rpx;" enablePullDownRefresh="{{true}}">
  <!-- 在这里放置需要滚动的内容 -->
</scroll-view>

4.在 onPullDownRefresh 方法中获取 scroll-view 组件实例,并调用其 scrollTop 方法,将滚动位置置顶。

Page({
  onPullDownRefresh: function () {
    console.log('下拉刷新');
    // 在这里编写数据更新的逻辑

    // 获取 scroll-view 组件实例,并调用 scrollTop 方法将滚动位置置顶
    const scrollView = this.selectComponent("#scrollView");
    scrollView && scrollView.scrollTo({
      top: 0,
      duration: 300
    });

    wx.stopPullDownRefresh(); // 数据更新完成后,调用该方法停止刷新
  }
})

完成以上步骤后,在微信小程序中运行该页面,即可看到下拉刷新功能已经生效。