微信小程序:分页和加载更多

本文详细介绍了在小程序中实现加载更多功能的具体步骤,包括wxml页面的代码展示、js初始数据设置、触底函数的使用及后台交互函数的编写,为开发者提供了完整的实践案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码吧。不足之处,多多指教,一起进步

1.wxml页面的最后敲上,css自己定义

<view class="loadmore" mtype="{{mtype}}" hidden="{{hidden}}"><text>已经没有更多了~</text></view>

2.js的初始数据中设置:

data: {
    page: 0,    //当前页
    totalPage: 0,   //总页数
    mtype: 1,    //加载更多动画显示类型
    hidden: true    //加载动画显示与隐藏
},

3.js的内置触底函数中如下操作

//页面滑动到底部
onReachBottom: function (e) {
    console.log("lower");
    var that = this;
    var page = that.data.page + 1;  //当前页+1 = 下一页
    that.getPhotoInfo(page);
},

4.js后台交互函数

getPhotoInfo:function(e){
    var that = this;
    var atPage = e; //当前页
    var params = {
        page: atPage //页数
    };

    if(atPage == 1){
        api.getPhotoInfo(params).then(res => {
            console.log(res)
        if (res['code'] == '200') {
            wx.stopPullDownRefresh(); //停止下拉刷新
            //更新数据
            that.setData( {
                photoInfo: res.data.list,
                page: atPage,
                totalPage: res.data.totalPage,
                hidden: true,
                mtype: 1
            });
        }
        })
    }else if(atPage <= that.data.totalPage){
        api.getPhotoInfo(params).then(res => {
            console.log(res)
        if (res['code'] == '200') {
            wx.stopPullDownRefresh(); //停止下拉刷新
            //更新数据
            that.setData( {
                photoInfo: that.data.photoInfo.concat(res.data.list),  //此处concat类似push,但又不完全是,可以测试下
                page: atPage,
                totalPage: res.data.totalPage,
                hidden: true,
                mtype: 1
            });
        }
        })
    }else {
        //更新数据,已经没有了 返回
        that.setData( {
            hidden: false,
            mtype: 1
        });
    }
},

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值