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


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 相关文章推荐
JSON 入门指南 想了解json的朋友可以看下
Aug 26 Javascript
jquery与google map api结合使用 控件,监听器
Mar 04 Javascript
数组方法解决JS字符串连接性能问题有争议
Jan 12 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
JSON相关知识汇总
Jul 03 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
angular.js实现购物车功能
Oct 23 Javascript
vue 过滤器filter实例详解
Mar 14 Javascript
发布订阅模式在vue中的实际运用实例详解
Jun 09 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 Javascript
vue实现二级导航栏效果
Oct 19 Javascript
微信小程序实现日历签到
Sep 21 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面向对象的使用教程 简单数据库连接
2006/11/25 PHP
linux iconv方法的使用
2011/10/01 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
vue数组对象排序的实现代码
2018/06/20 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
Python读写Excel表格的方法
2021/03/02 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
接口中的方法可以是abstract的吗
2015/07/23 面试题
会计助理的岗位职责
2013/11/29 职场文书
大学生职业规划书的范本
2014/02/18 职场文书
小班开学寄语
2014/04/04 职场文书
公司捐书倡议书
2015/04/27 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js