微信小程序 27 商品列表 加载下一页数据 下拉刷新页面 加载中的提示图标

编程知识 行业动态 更新时间:2024-06-13 00:21:18

27 商品列表 加载下一页数据

1 用户上滑页面 滚动条触底 开始加载下一页数据
1 找到滚动条触底事件 微信小程序官方开发文档寻找
2 判断还有没有下一页数据
1 获取到总页数 只有总条数
总页数 = Math.ceil(总条数 / 页容量 pagesize)
总页数 = Math.ceil( 23 / 10 ) = 3
2 获取到当前的页码 pagenum
3 判断一下 当前的页码是否大于等于 总页数
表示 没有下一页数据
3 假如没有下一页数据 弹出一个提示
4 假如还有下一页数据 来加载下一页数据
1 当前的页码 ++
2 重新发送请求
3 数据请求回来 要对data中的数组 进行 拼接 而不是全部替换!!!

触底事件

onReachBottom页面上拉触底事件的处理函数function

js

  onReachBottom(){
    console.log("我是有底线的");
  }

判断有没有下一页

1 获取到总页数 只有总条数
总页数 = Math.ceil(总条数 / 页容量 pagesize)
总页数 = Math.ceil( 23 / 10 ) = 3
2 获取到当前的页码 pagenum
3 判断一下 当前的页码是否大于等于 总页数
表示 没有下一页数据

js

//要查询的参数
  QueryParams:{
    query:"",
    cid:"",
    pagenum:1,
    pagesize:10
  },
  totalPages:1,
  async getGoodList(){
  //resolve(result.data.message);
    const res=await request({url:"/goods/search",data:this.QueryParams});
    const total=res.total
    this.setData({
      goodsList:res.goods
    })
  },
  • 是不是 const 常量变量赋值时是“=”
  • ,data:this.QueryParams看不太懂,没申请total,却有total值

  onReachBottom(){
  	if()
    console.log("我是有底线的");
  }
  • 花式打印?

假如还有下一页数据 来加载下一页数据

1 当前的页码 ++
2 重新发送请求
3 数据请求回来  要对data中的数组 进行 拼接 而不是全部替换!!!
      this.setData({
        goodsList:[...this.data.goodsList,...res.goods]
      })
  onReachBottom(){
    if(this.QueryParams.pagenum>=this.totalPages){
      wx.showToast({
        title:"我是有底线的"
      });
    }else{
      this.QueryParams.pagenum++;
      this.getGoodList();
    }
  }

下拉刷新页面

1 触发下拉刷新事件 需要在页面的json文件中开启一个配置项
找到 触发下拉刷新的事件 enablePullDownRefresh
2 重置 数据 数组 onPullDownRefresh
3 重置页码 设置为1
4 重新发送请求
5 数据请求回来 需要手动的关闭 等待效果

  async getGoodList(){
    //resolve(result.data.message);
      const res=await request({url:"/goods/search",data:this.QueryParams});
      const total=res.total;
      this.totalPages=Math.ceil( total / this.QueryParams.pagesize);
      this.setData({goodsList:[...this.data.goodsList,...res.goods]})
      wx.stopPullDownRefresh();
    },
  onPullDownRefresh(){
    this.setData({goodsList:[]});
    this.QueryParams.pagenum=1;
    this.getGoodList();
  }

加载中的提示图标

export const request = (params) => {

    wx.showLoading({
        title: "加载中",
        mask: true,
    });
      

    const baseUrl = "https://api-hmugo-web.itheima/api/public/v1";
    return new Promise((resolve, reject) => {
        wx.request({
            ...params,
            url: baseUrl + params.url,
            success: (result) => {
                resolve(result.data.message);
            },
            fail: (err) => {
                reject(err);
            },
            complete:()=>{
                wx.hideLoading();
            }
        })
    })
}

更多推荐

微信小程序 27 商品列表 加载下一页数据 下拉刷新页面 加载中的提示图标

本文发布于:2023-03-31 14:37:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/25d966bacea8586eb9ec1733657f78c9.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:下一页   图标   加载   提示   页面

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!