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


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 相关文章推荐
基于PHP+Jquery制作的可编辑的表格的代码
Apr 10 Javascript
DOM 中的事件处理介绍
Jan 18 Javascript
禁用Enter键表单自动提交实现代码
May 22 Javascript
pace.js页面加载进度条插件
Sep 29 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 Javascript
JavaScript解八皇后问题的方法总结
Jun 12 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
原生JS+Canvas实现五子棋游戏实例
Jun 19 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
Aug 17 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
Mar 19 Javascript
15 分钟掌握vue-next响应式原理
Oct 13 Javascript
JS代码优化的8点建议
Feb 04 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中常用数组处理方法实例分析
2008/08/30 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP计数器的实现代码
2013/06/08 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
python网络编程学习笔记(四):域名系统
2014/06/09 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
如何通过python实现人脸识别验证
2020/01/17 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
C语言基础笔试题
2013/04/27 面试题
医科学校毕业生自荐信
2013/11/09 职场文书
银行自荐信范文
2015/03/25 职场文书
运动会新闻稿
2015/07/17 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书