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


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 相关文章推荐
收藏一些不常用,但是有用的代码
Mar 12 Javascript
javascript 继承实现方法
Aug 26 Javascript
Jquery AJAX POST与GET之间的区别
Nov 14 Javascript
js面向对象之静态方法和静态属性实例分析
Jan 10 Javascript
JS创建对象几种不同方法详解
Mar 01 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
jQuery中Find选择器用法示例
Sep 21 Javascript
AngularJS入门教程之多视图切换用法示例
Nov 02 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 Javascript
JS实现求5的阶乘示例
Jan 21 Javascript
Vue实现商品飞入购物车效果(电商项目)
Nov 26 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 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面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
javascript 数组的方法集合
2008/06/05 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
python中dict()的高级用法实现
2019/11/13 Python
tensorflow自定义激活函数实例
2020/02/04 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
红旗团支部事迹材料
2014/01/27 职场文书
教室布置标语
2014/06/26 职场文书
2014年公务员工作总结
2014/11/18 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
JS数组的常用方法整理
2021/03/31 Javascript