博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序实现列表无限滚动加载的详细步骤
阅读量:4096 次
发布时间:2019-05-25

本文共 1548 字,大约阅读时间需要 5 分钟。

原理

利用小程序的触底加载事件 onReachBottom,当页面滚动到底部的时候给当前页 + 1。

实现步骤

(1)在 json 页面中配置到底部的距离:

"onReachBottomDistance": 20

(2)定义 getData 方法, 在 onLoad 进入页面时加载初始化数据

// 获取列表数据    getData() {
... },
onLoad: function(options) {
this.getData();}

(3)定义滚动事件

onReachBottom() {
if (this.data.pageNum < this.data.totalPage) {
this.setData({
pageNum: this.data.pageNum + 1 }) this.getData() } },

(4)重要部分:当数据请求成功时,如何进行分页请求

// 成功    success(e) {
const listData = e.detail.list if (listData.length == 0) {
this.setData({
listData: [], loadText: '抱歉,暂无相关数据' }) } else if (e.detail.currentPage == 1) {
this.setData({
listData: listData }) } else if (e.detail.currentPage < e.detail.totalPage && e.detail.totalPage !== 1) {
this.setData({
listData: this.data.listData.concat(listData), loadText: '数据加载中...' }) } else if (e.detail.currentPage = e.detail.totalPage && e.detail.currentPage !== 1) {
this.setData({
listData: this.data.listData.concat(listData), loadText: '已全部加载完成' }) } else {
this.setData({
listData: listData, loadText: '已全部加载完成' }) } this.setData({
totalPage: e.detail.totalPage, totalNum: e.detail.totalNum }) }

代码为实际项目粘贴,如有不明确的地方可以具体聊。

转载地址:http://bovii.baihongyu.com/

你可能感兴趣的文章
Axure学习指南
查看>>
three.js正交投影照相机
查看>>
【.NETCore开源】开弓没有回头箭
查看>>
类的练习——python编程从入门到实践
查看>>
.Net面試題
查看>>
String to Double出现误差
查看>>
排序算法六:计数排序(Counting sort)
查看>>
PHP程序员的技术成长规划
查看>>
在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务
查看>>
软件产品易用性评价评估标准
查看>>
二叉树先序遍历
查看>>
SQL Server 2005 实现数据库同步备份 过程--结果---分析
查看>>
2016江苏省赛总结
查看>>
对 const char* const &a 的理解
查看>>
ExtJS & Asp.NET
查看>>
element表格添加查看操作
查看>>
VS2017启动速度优化方法
查看>>
HTTP基本原理
查看>>
while 循环 实例
查看>>
Javascript高级程序设计——this、闭包、函数表达式
查看>>