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


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类的封装及实现代码
Dec 02 Javascript
js的一些常用方法小结
Jun 29 Javascript
jquery选择器的选择使用及性能介绍
Jan 16 Javascript
基于javascipt-dom编程 table对象的使用
Apr 22 Javascript
Javascript排序算法之计数排序的实例
Apr 05 Javascript
Javascript函数式编程语言
Oct 11 Javascript
基于构造函数的五种继承方法小结
Jul 27 Javascript
JS实现的合并多个数组去重算法示例
Apr 11 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
Apr 24 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
May 22 Javascript
JS实现给数组对象排序的方法分析
Jun 24 Javascript
js简单的分页器插件代码实例
Sep 11 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中curl使用指南
2015/02/05 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
javascript中this指向详解
2016/04/23 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
python协程之动态添加任务的方法
2019/02/19 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
python中web框架的自定义创建
2019/09/08 Python
python TCP包注入方式
2020/05/05 Python
python 制作磁力搜索工具
2021/03/04 Python
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
银行实习生的自我评价
2013/12/09 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
大学生自我鉴定书
2014/03/24 职场文书
诚信考试倡议书
2014/04/15 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
个人简历自荐信
2014/06/26 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
建党伟业观后感
2015/06/01 职场文书
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS