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


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 Split方法,indexOf方法、lastIndexOf 方法和substring 方法
Mar 21 Javascript
基于jquery的表格排序
Sep 11 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
浅析ES6的八进制与二进制整数字面量
Aug 30 Javascript
JS中setTimeout和setInterval的最大延时值详解
Feb 13 Javascript
详解Node.js串行化流程控制
May 04 Javascript
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
使用FileReader API创建Vue文件阅读器组件
Apr 03 Javascript
推荐15个最好用的JavaScript代码压缩工具
Feb 13 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
Aug 27 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
Apr 10 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图片上传存储源码并且可以预览
2011/08/26 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
javascript innerHTML使用分析
2010/12/03 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
Pytorch的mean和std调查实例
2020/01/02 Python
python中如何使用insert函数
2020/01/09 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
基于FME使用Python过程图解
2020/05/13 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
公司财务自我评价分享
2013/12/17 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
小组口号霸气押韵
2015/12/24 职场文书
详解Python类和对象内容
2021/06/22 Python