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


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 相关文章推荐
借用Google的Javascript API Loader来加速你的网站
Jan 28 Javascript
js函数调用常用方法详解
Dec 03 Javascript
浅析JavaScript原型继承的陷阱
Dec 03 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
基于JavaScript实现仿京东图片轮播效果
Nov 06 Javascript
js小数计算小数点后显示多位小数的实现方法
May 30 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
Jun 10 Javascript
JavaScript展开操作符(Spread operator)详解
Jul 20 Javascript
使用layer模态框给新页面传值的方法
Sep 27 Javascript
微信小程序scroll-view不能左右滑动问题的解决方法
Jul 09 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 配置文件中open_basedir选项作用
2009/07/19 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
全面解析Python的While循环语句的使用方法
2015/10/13 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
django连接oracle时setting 配置方法
2019/08/29 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
python 求10个数的平均数实例
2019/12/16 Python
Python datetime 如何处理时区信息
2020/09/02 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
技校毕业生个人学习的自我评价
2014/02/21 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
党员倡议书
2015/01/19 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
工程服务质量承诺书
2015/04/29 职场文书
员工工作表扬信
2015/05/05 职场文书
创业计划书之酒厂
2019/10/14 职场文书