微信小程序上拉加载——分页
wxml:
<view class="page">
<scroll-view class="imageViewCss_1" scroll-y="true" bindscrolltolower="toLower" lower-threshold="-100">
<view class="weui-slidecells" wx:for="{{arrayProject}}" wx:for-item="itemProjec" wx:key="id" data-datas="{{itemProjec}}">
<mp-slideview buttons="{{slideButtons}}" icon="true" bindbuttontap="slideButtonTap">
<view class="weui-slidecell">
<view class="showTimeCss">
{{itemProjec.operate_time}}
</view>
<!--内容为自定义对象-->
温度:{{itemProjec.id}}℃ 湿度:{{itemProjec.id}}%
</view>
</mp-slideview>
</view>
<view wx:if="{{state==0}}">
<view>没有更多了</view>
</view>
</scroll-view>
</view>
js:
data: {
//每页显示的行数:
pagesize: 20,
//页码(从1开始):
p: 1,
//用于标识是否还有更多的状态
state: 1,
//用于渲染页面的数组
arrayProject: [],
//用于数组的追加和暂存
allProject: [],
},
onLoad: function (options) {
var mythis = this;
getproinfo(this.data.pagesize, this.data.p, mythis)
},
toLower: function () {
var that = this;
var state = that.data.state;
if (state > 0){
wx.showLoading({
title: '加载中...',
});
that.data.p = that.data.p + 1;
getproinfo(this.data.pagesize, this.data.p, that);
wx.hideLoading();
}
},
function getproinfo(pagesize, p, mythis) {
wx.request({
url: "******",
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
data: {
//其他参数"page": p,
"limit": pagesize
},
success: function (res) {
var resData = res.data;
var resLength = res.data.length;
//如果搜出来的结果<1 就说明后面已经没数据可加载了,所以将state设为0
if (resLength < 1)
mythis.setData({
state: 0
});
else {
var state1 = 1;
//如果有数据,但小于每次期望加载的数据量(pagesize),将state设为0,表示后面已没有数据可加载
if (resLength < mythis.data.pagesize)
var state1 = 0;
//循环将结果集追加到数组后面
for (var i = 0; i < resLength; i++) {
mythis.data.allProject.push(resData[i]);
}
mythis.setData({
arrayProject: mythis.data.allProject,
state: state1
});
}
//console.log(mythis.data.arrayProject)
},
fail: function (res) {
//console.log(res);
}
});
}
wxss:
page,
.page{
height: 100%;
}
.imageViewCss_1{
width: 100%;
height: 100%;
}
.showTimeCss{
font-size:14px;
font-family: NSimSun;
}
微信小程序上拉加载——分页的更多相关文章
- 微信小程序上拉加载下拉刷新
微信小程序实现上拉加载下拉刷新 使用小程序默认提供方法. (1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载 ...
- 微信小程序 - 上拉加载下拉刷新
点击下载示例:小程序 - 上拉刷新下拉加载
- 微信小程序上拉加载:onReachBottom详解+设置触发距离
前端经常遇到上拉加载更多的需求,一般还涉及到翻页.小程序里已经给了下拉到底的触发方法onReachBottom(),这里记录下怎样使用这个方法实现下拉加载更多,有需要的直接看代码,有详细注释: 1.首 ...
- 微信小程序 - 上拉加载
demo.wxml 文件 <view wx:for="{{listdata}}" wx:key="listdata" class='listitem'& ...
- 微信小程序~上拉加载onReachBottom
代码: //页面上拉触底事件的处理函数 onReachBottom(e) { console.log("底部")// 滚动到页面执行 该 方法 wx.showToast({ tit ...
- 微信小程序 - 上拉加载更多组件
详情用例看demo,点击下载示例:loadmore
- 微信小程序之下拉加载和上拉刷新
微信小程序下拉加载和上拉刷新两种实现方法 方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里设置window属性 ...
- 微信小程序下拉加载和上拉刷新两种实现方法
方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里设置window属性 设置js里onPullDownRefresh和onR ...
- 微信小程序之上拉加载更多
loadmore 加载更多(分页加载) 当用户打开一个页面时,假设后台数据量庞大时,一次性地返回所有数据给客户端,页面的打开速度就会有所下降,而且用户只看上面的内容而不需要看后面的内容时,也浪费用户流 ...
随机推荐
- Slickflow.NET 开源工作流引擎高级开发(六) -- WebTest 引擎接口模拟测试工具集
前言:引擎组件的接口测试不光是程序测试人员使用,而且也是产品负责人员需要用到的功能,因为在每一步流转过程中,就会完整模拟实际用户发生的场景,也就容易排查具体是程序问题还是业务问题,从而快速定位问题,及 ...
- Spring高级注解
目录: 1.使用限定注解:2.自定义限定注解:3.自定义bean的生命周期: 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8新建一个名称为demo的Spr ...
- 004 C/C++ 数据类型_类型别名
#include "stdio.h" #include "stdlib.h" //这里定义了一个结构体. struct MyStruct1 { int a; f ...
- 关于学习和开发Android的一点体会
在谷歌中国安卓开发官网的 https://developer.android.google.cn/guide 之下有许多开发资料,有讲解,和例子.分门别类很清楚. 在 https://develope ...
- div里面的元素垂直均匀分布 按钮引发地址栏出现问号 判断一个数组是否为空 div底部居中 路由传参接受参数
一个固定高度的div的子元素 在垂直 方向上平均分布 .important-dec{ height: 121px; flex-direction: column; display: flex; jus ...
- css 知识点,你有可能不知道欧!
1.[定位特性] 绝对定位和固定定位,同时设置left和right等同于隐式的设置宽度. <style> span{ position:fixed; left:30px; right:30 ...
- 201871010123-吴丽丽 《面向对象程序设计(Java)》第十六周学习总结
201871010123-吴丽丽 <面向对象程序设计(Java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- Acwing43 不分行从上往下打印二叉树
地址 https://www.acwing.com/problem/content/description/41/ 从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印. 样例 输入如下 ...
- for循环创建的a标签,当点击时如何确定点击的是哪一个标签?
创建 代码: js: 效果: 原因: html代码:这种获取选中标签的方式,是通过监听body来实现的,所以body上要增加这个onclick(this)
- Centos 6 变更 窗口管理器
/etc/sysconfig/desktop ( 没有的话创建一个) DESKTOP="KDE" DISPLAYMANAGER="KDE"