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


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 相关文章推荐
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
JavaScript 事件属性绑定带参数的函数
Mar 13 Javascript
JS控制图片等比例缩放的示例代码
Dec 24 Javascript
jQuery DOM删除节点操作指南
Mar 03 Javascript
JS模拟键盘打字效果的方法
Aug 05 Javascript
js中flexible.js实现淘宝弹性布局方案
Jun 23 Javascript
JS如何设置元素样式的方法示例
Aug 28 Javascript
js数组去重的N种方法(小结)
Jun 07 Javascript
js canvas实现画图、滤镜效果
Nov 27 Javascript
详解Vue2 添加对scss的支持
Jan 02 Javascript
js实现双人五子棋小游戏
May 28 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
Sep 16 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
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
javascript 短路法代码精简
2009/08/20 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
Python计算三角函数之asin()方法的使用
2015/05/15 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Python实现线程状态监测简单示例
2018/03/28 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
python3中pip3安装出错,找不到SSL的解决方式
2019/12/12 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
主要负责人任命书
2014/06/06 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
临时用工协议书范本
2014/10/29 职场文书
青岛海底世界导游词
2015/02/11 职场文书
医生辞职信范文
2015/03/02 职场文书
羊脂球读书笔记
2015/06/30 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
关于vue-router-link选择样式设置
2022/04/30 Vue.js