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


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 相关文章推荐
Document 对象的常用方法
Jul 31 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
Jan 20 Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 Javascript
jQuery实现Select左右复制移动内容
Aug 05 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
Nov 06 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
简单的Vue SSR的示例代码
Jan 12 Javascript
移动端(微信等使用vConsole调试console的方法
Mar 05 Javascript
vue element ui validate 主动触发错误提示操作
Sep 21 Javascript
浅谈JS的原型和原型链
Jun 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
Python 自动化表单提交实例代码
2017/06/08 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
使用python模拟命令行终端的示例
2019/08/13 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
财务方面个人工作的自我评价
2013/12/28 职场文书
优秀交警事迹材料
2014/01/26 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
最新离婚协议书范本
2014/08/19 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
冰峪沟导游词
2015/02/09 职场文书
北京爱情故事观后感
2015/06/12 职场文书
车位出租协议书范本
2016/03/19 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技