小程序触底加载和下拉刷新

 准备:

//js页面   
    data: {
        datalist:[],    //接收数据
        page:1,        //作为参数
        isBool:true    //用于判断是触底加载还是下来刷新
    },
    //请求 已简单封装过
    async requestList(){
        const url="url"
        let data={
            page:this.data.page,    //第几页
            limit:10                //每次请求的数据量 一次10条
        }
        let res=await api.get(url,data)   //返回的数据
        this.setData({
            //isBool如果是true,则为触底加载,会将datalist中的数据和重新请求的数据合并
            //isBool如果是false,则为刷新,给datalist重新赋值
            datalist:this.data.isBool ? [...this.data.datalist,...res.data] : res.data
        })
    }

开始写触底加载(上拉):

//js页面
    onReachBottom: function () {
        console.log("上拉,就是触底加载");
        this.setData({
            page:this.data.page + 1,    //每次触发事件,就让page+1
            isBottom:true                //让isBool为真,代表上拉
        })
        this.requestList()    //最后重新刷新请求
    },

下拉(刷新):

onPullDownRefresh():需要在app.jsonwindow选项中或页面配置中开启enablePullDownRefresh

app.json:
    "window": {
        "backgroundTextStyle": "light",    //下拉 loading 的样式,默认为dark,
        "enablePullDownRefresh":true    //启用下拉刷新
     },
//js页面:
    onPullDownRefresh: function () {
        console.log('监听用户下拉,刷新');
        this.setData({
            page:this.data.page + 1,
            isBool:false        //用false代表刷新
        })
        this.requestList()    //重新请求
    },
  • 可以通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
  • 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

--原创,转载请说明哦!欢迎交流!( •̀ ω •́ )✧

posted @   码农请留步  阅读(346)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示