微信小程序实现下滑到底部自动翻页功能


Posted in Javascript onMarch 07, 2020

前言

这段时间接了一个微信小程序项目,从此打开小程序的新世界大门。然后发现使用页码进行翻页已经不适用于手机app,我们日常中实用的手机app或者小程序进行翻页一般都是使用底部后下拉的方式。

解决思路

我发现微信小程序远程组件提供了一个scroll-view(可滚动视图区域),这个组件中有个属性,bindscrolltolower能够监听区域内滑到了最后一个位置。这就能用来解决和实现我们提出的问题。当用户滑到最后一个元素,触发函数,我们在该函数中请求下一页的数据,然后追加到展示列表里。ps:需要一个变量来存储当前页码

微信小程序实现下滑到底部自动翻页功能

实现

wxml:

<scroll-view class="scroll_view" scroll-y bindscrolltolower="nextPage">
 <view style="height:100vh">
  <block wx:for="{{lists}}" wx:for-index="index" wx:for-item="item" wx:key="unique">
   <view style="height:10vh;border:1rpx solid red">
    {{item}}
   </view>
  </block>
 </view>
</scroll-view>

wxss:

.scroll_view{
 height:100vh;
}

js:

Page({

 data: {
  lists: [],
  page: 1
 },
 //监听是否滑到底部
 nextPage: function () {
  let new_lists = [];
  let page = this.data.page;
  let startindex = page * 10 + 1;
  console.log("第" + page + "页滑到底部了,请求第" + (page + 1) + "页");
  page += 1;
  //模拟请求
  for (let i = startindex; i <= startindex + 9; i++) {
   new_lists.push(i);
  }
  this.setData({ lists: this.data.lists.concat(new_lists), page: page });
 },
 onLoad: function (options) {
  let lists = [];
  //模拟请求
  for (let i = this.data.page; i <= this.data.page + 9; i++) {
   lists.push(i)
  }
  this.setData({ lists: lists, });
 },
})

效果:

微信小程序实现下滑到底部自动翻页功能

说明

我这里没有做判断是否请求到最后一页,我们一般后台逻辑是当请求当前页码为空时说明上一页已经是最后一页了。我们可以在nextPage函数论进行相应的逻辑判断处理,我这里就不展示了,大家自己实现,不会的给我留个言。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 文字符串转换unicode编码函数
May 30 Javascript
JavaScript实现GriwView单列全选(自写代码)
May 13 Javascript
js如何判断不同系统的浏览器类型
Oct 28 Javascript
JavaScript导航脚本判断当前导航
Jul 12 Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
Feb 07 Javascript
JavaScript队列函数和异步执行详解
Jun 19 Javascript
详解JS数值Number类型
Feb 07 Javascript
vue axios请求频繁时取消上一次请求的方法
Nov 10 Javascript
angular 实现下拉列表组件的示例代码
Mar 09 Javascript
JavaScript变速动画函数封装添加任意多个属性
Apr 03 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
js实现选项卡效果
Mar 07 #Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 #Javascript
js实现简单放大镜效果
Mar 07 #Javascript
js实现文字头像的生成代码
Mar 07 #Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 #Javascript
原生JS实现萤火虫效果
Mar 07 #Javascript
JavaScript实现轮播图片完整代码
Mar 07 #Javascript
You might like
实现树状结构的两种方法
2006/10/09 PHP
php生成EXCEL的东东
2006/10/09 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
setTimeout和setInterval的深入理解
2013/11/08 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
2017/02/02 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
react中hook介绍以及使用教程
2020/12/11 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
Python 的内置字符串方法小结
2016/03/15 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
python采集微信公众号文章
2018/12/20 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
工商管理实习自我鉴定
2013/09/28 职场文书
医学生自我鉴定范文
2013/11/08 职场文书
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
质检部部长职责
2013/12/16 职场文书
2014年学校工作总结
2014/11/20 职场文书
三孔导游词
2015/02/05 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
工作报告范文
2019/06/20 职场文书