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


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 相关文章推荐
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
Javascript:为input设置readOnly属性(示例讲解)
Dec 25 Javascript
Javascript遍历table中的元素示例代码
Jul 08 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
Oct 31 Javascript
javascript每日必学之基础入门
Feb 16 Javascript
javascript正则表达式之分组概念与用法实例
Jun 16 Javascript
Bootstrap零基础入门教程(三)
Jul 18 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
Vue实现左右菜单联动实现代码
Aug 12 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
Apr 24 Javascript
Node.js API详解之 util模块用法实例分析
May 09 Javascript
javascript代码简写的几种常用方式汇总
Aug 23 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
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
创建echart多个联动的示例代码
2018/11/23 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
在nodejs中创建child process的方法
2021/01/26 NodeJs
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
python Pygame的具体使用讲解
2017/11/03 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
简单的HTML5初步入门教程
2015/09/29 HTML / CSS
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
Delphi CS笔试题
2014/01/04 面试题
《菜园里》教学反思
2014/04/17 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书