小程序下拉刷新,上拉加载更多

小程序下拉刷新,上拉加载更多

小程序下拉刷新上拉加载在很多地方都用的到

我们都知道在小程序中有两个自带的钩子函数

onPullDownRefresh(下拉动作)和onReachBottom(上拉触底事件)

那我们下拉刷新上拉加载正好是在这两个事件触发时触发的

首先下拉刷新首先要在小程序json文件中开启一个配置项

"enablePullDownRefresh":true,

这样在顶部下拉时就会触发下拉的事件

既然我们要刷新,那么就要重置数组的数据变为刚进入页面时间的数据

也就是重新请求一遍数据

onPullDownRefresh(){
    // 1 重置数组
    this.setData({
      goodsList:[]
    })
    // 2 重置页码
    this.QueryParams.pagenum=1;
    // 3 发送请求
    this.getGoodsList();
  }

把所有参数重置了,页面重新渲染,那么这就是我们下拉刷新需要做的

最后别忘了关闭下拉刷新的窗口

上拉加载

我们根据一个页面显示的条数和总数据判断出一共需要多少页

然后跟当前的页码比较一下看还有没有下一页数据

如果没有页数了

就提示没有下一页数据

如果还有下一页数据就让请求数据的参数的页码+1

 onReachBottom(){
  //  1 判断还有没有下一页数据
    if(this.QueryParams.pagenum>=this.totalPages){
      // 没有下一页数据
      //  console.log('%c'+"没有下一页数据","color:red;font-size:100px;background-image:linear-gradient(to right,#0094ff,pink)");
      wx.showToast({ title: '没有下一页数据' });
        
    }else{
      // 还有下一页数据
      //  console.log('%c'+"有下一页数据","color:red;font-size:100px;background-image:linear-gradient(to right,#0094ff,pink)");
      this.QueryParams.pagenum++;
      this.getGoodsList();
    }
  },

在请求一边数据且让之前的数据和新请求到的数据拼接起来

 this.totalPages=Math.ceil(total/this.QueryParams.pagesize);
    // console.log(this.totalPages);
    this.setData({
      // 拼接了数组
      goodsList:[...this.data.goodsList,...res.goods]
    })

这样就完成了下拉刷新上拉加载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值