• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序中的上拉加载

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近小程序项目中频繁用到了上拉加载和下拉刷新这两个功能,所以在这里说一下过程和用法,也当留一个笔记

上拉加载:其实说白了就是分页。因为在数据量庞大的情况下我们不可能将所有的数据都请求回来并渲染上,

这样不仅影响加载速度,用户体验也相当差。

用户上滑触底时触发,借助小程序的生命周期onReachBottom(),监听用户上拉触底事件

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onReachBottom

这是小程序的官方文档,在这个函数中定义用户上拉之后的一系列动作

//前置准备,页面刷新时请求的数据
init(){
let _that = this
http.request({
url: \'...\',
method: \'post\',
data: {
"pageNum": this.data.page, // 一次请求页数,可以和后台协商参数,
"pageSize": 5, // 一次请求的数据个数,可以和后台协商参数,
},
success: (res) => {
let oldData = _that.data.list;
_that.setData({
list: oldData.concat(res.data.list),
//list在data中设置初始值为[],page也设置初始值为1,
//concat方法,将每次请求回来的res.data.list合并在一起
})
}
})
}
onReachBottom: function () {

在这之前要说一下前置准备,通常页面上来刚刷新的时候,根据需求会定义加载数据的数量,

也就是我们从接口请求的时候向后台传的参数之一,一定要借助页面上来加载时的接口,在那里下功夫

然后用户上拉的时候我们只需要将需要请求的页数+1。然后再请求一次页面加载时候的接口就ok了

this.setData({
page: this.data.page + 1
})

this.init()

}

至此,上拉刷新完成,如果需要其他操作,再配合判断选择是否触发;

蟹蟹 ~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
原创:微信小程序入口猜想?发布时间:2022-07-18
下一篇:
java服务端实现微信小程序内容安全发布时间:2022-07-18
热门推荐
    热门话题
    阅读排行榜

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    139-2527-9053

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    地址:深圳市南山区西丽大学城创智工业园
    电邮:jeky_zhao#qq.com
    移动电话:139-2527-9053

    Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap