微信小程序如何实现上拉刷新(即分页加载数据)?

  步骤1、 enablePullDownRefresh这个属性设置为true。enablePullDownRefresh可以写在app.json 中和页面的xx.json,两者的区别是, app.json 是全局型
的下拉刷新,而xx.json 是单个页面的下拉刷新。

  在xxx.json文件中设置enablePullDownRefresh

{
  "enablePullDownRefresh": true
}

  步骤2、找到事件处理函数onPullDownRefresh重置数据,重置页码设置为1,重新请求数据;

  wx.showNavigationBarLoading();在当前页面显示导航条加载动画

   wx.hideNavigationBarLoading();//在当前页面隐藏导航条加载动画

   wx.stopPulIDownRefresh()//停止”下拉刷新。

  以加载商品类列表为例:

 /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 在当前页面显示导航条加载动画
    wx.showNavigationBarLoading();
    // 下拉刷新后,将页数重置为1,数组清空,是否请求完所有数据设置为fasle
    this.setData({
      page: 0,
      welfareArr: [],
      isComplete: false
    });
    // 重新发起请求
    this.getWelfareList();
  }

  发起请求的代码

getWelfareList() {
    wx.request({
      url: 'https://100boot.cn/wxShop/goods/getHotGoodsList',
      method: 'get',
      data: {
        key: utils.key,
        page: this.data.page,
        size: this.data.size
      },
      success: res => {
        // 请求成功后停止刷新加载的动画
        wx.hideNavigationBarLoading();
        // 停止下拉刷新
        wx.stopPullDownRefresh();
        if (res.data.result.list.length > 0) {
          this.setData({
            welfareArr: this.data.welfareArr.concat(res.data.result.list)//新老数据合并
          });
        } else {
          // 没有数据了
          this.setData({
            isComplete: true
          })
        }
      }
    })
  }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值