微信小程序实现滚动加载更多的代码


Posted in Javascript onDecember 06, 2019

1.需要用到的组件和api

scroll-view(可滚动视图区域)

wx.showToast(OBJECT)显示消息提示窗----显示loading小菊花用的

2.需要用到的属性

微信小程序实现滚动加载更多的代码

微信小程序实现滚动加载更多的代码

微信小程序实现滚动加载更多的代码

 3.scrol-view需要指定一个高度,这个高度可以按自己的需求计算,我使用的是屏幕可用高度并且默认一页显示6个

微信小程序实现滚动加载更多的代码

4.滚动到底部绑定需要触发的事件

<scroll-view scroll-y='true' style="height:{{height}}px" bindscrolltolower='lower'>

5.操作事件函数,主要是将请求下来的数据用concat方法进行合并,然后赋值,我是用的for循环假装添加的数据,实际项目中可以换成自己的ajax,并且为了模拟加载我添加了一个1.5秒的定时器,先调用提示框api成功之后关闭

lower() {
  var result = this.data.res;
  var resArr = [];
//这里可以使用自己的ajax
  for (let i = 0; i < 10; i++) {
   resArr.push(i);
  };
  var cont = result.concat(resArr);//合并请求的数据
  console.log(resArr.length);
  if (cont.length >= 100) {
   wx.showToast({ //期间为了显示效果可以添加一个过度的弹出框提示“加载中” 
    title: '我也是有底线的',
    icon: 'success',
    duration: 300
   });
   return false;
  } else {
   wx.showLoading({ //期间为了显示效果可以添加一个过度的弹出框提示“加载中” 
    title: '加载中',
    icon: 'loading',
   });
   setTimeout(() => {
    this.setData({
     res: cont
    });
    wx.hideLoading();
   }, 1500)
  }
 }

  6.成功,放完整代码可以直接复制运行

wxml代码

<view class='box'>
<scroll-view scroll-y='true' style="height:{{height}}px" bindscrolltolower='lower'>
 <view wx:for="{{res}}" data-id="{{index}}" wx:key="{{index}}" style="height:{{(height/6)-1}}px;width:100%;text-align:center;line-height:{{(height/6)-1}}px; border-bottom:1px solid #ccc">{{item}}</view>
</scroll-view>
</view>

 js代码

Page({

 /**
  * 页面的初始数据
  */
 data: {
  height: '',
  res: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 },
 lower() {
  var result = this.data.res;
  var resArr = [];
  for (let i = 0; i < 10; i++) {
   resArr.push(i);
  };
  var cont = result.concat(resArr);
  console.log(resArr.length);
  if (cont.length >= 100) {
   wx.showToast({ //如果全部加载完成了也弹一个框
    title: '我也是有底线的',
    icon: 'success',
    duration: 300
   });
   return false;
  } else {
   wx.showLoading({ //期间为了显示效果可以添加一个过度的弹出框提示“加载中” 
    title: '加载中',
    icon: 'loading',
   });
   setTimeout(() => {
    this.setData({
     res: cont
    });
    wx.hideLoading();
   }, 1500)
  }
 },
 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {
  wx.getSystemInfo({
   success: (res) => {
    this.setData({
     height: res.windowHeight
    })
   }
  })
 }
})

总结

以上所述是小编给大家介绍的微信小程序实现滚动加载更多的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
为jQuery添加Webkit的触摸的方法分享
Feb 02 Javascript
jquery的clone方法应用于textarea和select的bug修复
Jun 26 Javascript
JavaScript 匿名函数和闭包介绍
Apr 13 Javascript
javascript产生随机数方法汇总
Jan 25 Javascript
Bootstrap布局之栅格系统详解
Jun 13 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
Jun 04 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
Jan 05 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
tsconfig.json配置详解
May 17 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
Nov 18 Javascript
微信小程序实现滑动翻页效果(完整代码)
Dec 06 #Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
Dec 06 #Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
Dec 06 #Javascript
微信小程序激励式视频广告组件使用详解
Dec 06 #Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 #Javascript
vue中监听路由参数的变化及方法
Dec 06 #Javascript
详解ECMAScript2019/ES10新属性
Dec 06 #Javascript
You might like
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
JavaScript延迟加载
2021/03/09 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
详解Python3.1版本带来的核心变化
2015/04/07 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
Pycharm安装python库的方法
2020/11/24 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
小学毕业演讲稿
2014/04/25 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
政风行风评议工作总结
2014/10/21 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
python+opencv实现目标跟踪过程
2022/06/21 Python