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


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 相关文章推荐
javascript add event remove event
Apr 07 Javascript
javascript 事件处理程序介绍
Jun 27 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
Sep 04 Javascript
js实现飞入星星特效代码
Oct 17 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
JavaScript列表框listbox全选和反选的实现方法
Mar 18 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 Javascript
Vue实现日历小插件
Jun 26 Javascript
js字符串类型String常用操作实例总结
Jul 05 Javascript
使用JS来动态操作css的几种方法
Dec 18 Javascript
通过实例解析vuejs如何实现调试代码
Jul 16 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函数 serialize()和unserialize()
2012/02/04 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
jquery实现动态画圆
2014/12/04 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
js实现漫天星星效果
2017/01/19 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
python 排序算法总结及实例详解
2016/09/28 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
办公室文秘自我鉴定
2013/09/21 职场文书
千元咖啡店的创业计划书范文
2013/12/29 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
2014年平安夜寄语
2014/12/08 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
详解如何用Python实现感知器算法
2021/06/18 Python
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android