微信小程序上拉加载下拉刷新
微信小程序实现上拉加载下拉刷新
使用小程序默认提供方法。
(1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载的动画可能会是白色背景,会看不清。
{
"usingComponents": {
"annicate": "/components/annicate/index"
},
"navigationBarTitleText": "通告列表",
"enablePullDownRefresh": true,
"backgroundColor": "#ffffff",
"backgroundTextStyle": "dark"
}
(2). 在 js 中处理逻辑
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
// 标题栏显示刷新图标,转圈圈
wx.showNavigationBarLoading()
// 请求最新数据
this.initDate(true);
setTimeout(() => {
// 标题栏隐藏刷新转圈圈图标
wx.hideNavigationBarLoading()
}, );
}, /**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
setTimeout(() => {
this.initDate();
}, );
},
data 中
loading: false, // 是否正在加载中
loaded: false, // 是否加载完全部数据
/**
* 初始化数据
*/
initDate: function (isPage) {
var that = this;
// 加载第一页
if (isPage === true){
that.setData({
notice_list: [],
page:
});
} else {
var num = that.data.page + ;
if (num <= that.data.totalPage) {
that.setData({
page: num
});
} else if (num > that.data.totalPage) {
that.setData({
loaded: true
});
}
} if (that.data.loading) return;
if (that.data.loaded) return; var json = {
keywords: that.data.keywords
};
wx.showLoading({
title: '加载中',
}) that.setData({ loading: true, loadTitle: '' });
noticeList(json).then(res => {
let notice_list = app.SplitArray(res.data.notice_list.list, that.data.notice_list);
wx.hideLoading()
that.setData({
notice_list: notice_list,
loading: false,
loadTitle: that.data.page == res.data.notice_list.total_page ? '已全部加载' : '加载更多',
totalPage: res.data.notice_list.total_page
});
}).catch(err => {
that.setData({ loading: false, loadTitle: '加载更多' });
});;
},
页面中
<view class='annicate_wrap'>
<annicate bindtap='detailFun' wx:for="{{notice_list}}" wx:key="index" jsonDate="{{item}}"></annicate>
<view class='loadingicon acea-row row-center-wrapper' wx:if='{{notice_list.length > 0}}'>
<text class='loading iconfont icon-jiazai' hidden='{{loading==false}}'></text>{{loadTitle}}
</view>
</view>
/*
* 合并数组
* @param array list 请求返回数据
* @param array sp 原始数组
* @return array
*/
SplitArray: function(list, sp) {
return util.SplitArray(list, sp)
}
untils 中
/*
* 合并数组
*/
const SplitArray = function (list, sp) {
if (typeof list != 'object') return [];
if (sp === undefined) sp = [];
for (var i = ; i < list.length; i++) {
sp.push(list[i]);
}
return sp;
}
微信小程序上拉加载下拉刷新的更多相关文章
- 微信小程序上滑加载更多
onReachBottom: function () { var that = this var limit = that.data.limit var count = that.data.count ...
- Vue mint ui用在消息页面上拉加载下拉刷新loadmore 标记
之前总结过一个页面存在多个下拉加载的处理方式,今天再来说一下在消息页面的上拉加载和下拉刷新,基本上每个app都会有消息页面,会遇到这个需求 需求:每次加载十条数据,上拉加载下拉刷新,并且没有点击查看过 ...
- 上拉加载下拉刷新控件WaterRefreshLoadMoreView
上拉加载下拉刷新控件WaterRefreshLoadMoreView 效果: 源码: // // SRSlimeView // @author SR // Modified by JunHan on ...
- RecyclerView 上拉加载下拉刷新
RecyclerView 上拉加载下拉刷新 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/teach_s ...
- APICloud上啦加载下拉刷新模块
apicloud有自带的上啦加载下拉刷新,当让也可以用第三方或者在模块库里面找一个使用 一.下拉刷新,一下代码写在 apiready = function (){} 里面 apiready = fun ...
- mui scroll和上拉加载/下拉刷新
mui中 scroll和上拉加载/下拉刷新同时存在会出现两个滚动条 把/* */ /* //mui页面鼠标拖动代码: mui('.mui-scroll-wrapper').scroll({ dec ...
- 微信小程序---》分包加载
[小程序]---分包加载 一.分包加载 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载 在构建小程序分包项目时,构建会输出一个或多个分包.每个使 ...
- 微信小程序 - 上拉加载下拉刷新
点击下载示例:小程序 - 上拉刷新下拉加载
- 微信小程序中如何实现分页下拉加载?(附源码)
转眼间坚持写教你微信小程序系列已经有十节系列课程了,每天的工作压力繁重,小女子也不知道自己还能坚持这样的系列教程多久.只希望每篇教程真的对大家有帮助.这节课我们要介绍的就是如何实现分页的下拉加载,我们 ...
随机推荐
- 各操作系统下php.ini文件的位置在哪里
这个问题虽然说很小,但是却还是经常会出现的问题,特别是刚入门php的同学更是如此.而这个问题呢,我也经常被问到,所以就在这里总结一下. 首先php.ini文件并不是隐藏文件,寻找php.ini文件的方 ...
- Microsoft Office Word
快捷键 选区 选择块:[Shift]+click,光标放到块的一端,然后按住Shift,然后光标放到块的另一端. 更新域: F9 右键没有更新域选项时可以使用,如更新全部域先Ctrl + A然后F9 ...
- scrapy过滤重复数据和增量爬取
原文链接 前言 这篇笔记基于上上篇笔记的---<scrapy电影天堂实战(二)创建爬虫项目>,而这篇又涉及redis,所以又先熟悉了下redis,记录了下<redis基础笔记> ...
- Java 类装载器工作机制
类装载器就是寻找类的字节码文件并构造出类在JVM内部表示的对象组件.在java中,类装在器把一个类装入JVM中,要经过以下几个步骤: 1.装载:查找和导入Class文件 2链接:执行校验,准备和解析步 ...
- ngrinder压力测试
文章目录 另一篇 部署demo 写脚本 压力测试 目标主机监控 可能报错 总结: 另一篇 https://blog.csdn.net/dataiyangu/article/details/888518 ...
- IoC与DI,Unity的使用
IoC的全称为Inversion of Control(控制反转),DI的全称为Dependency Injection(依赖注入).IoC是一个控制容器,我们将设计好的对象放入到容器中,将对象交给容 ...
- mybatis批量插入、更新和删除
https://blog.csdn.net/m0_37981235/article/details/79131493 https://www.jb51.net/article/132823.htm
- PTA 1154 Vertex Coloring
题目链接:1154 Vertex Coloring A proper vertex coloring is a labeling of the graph's vertices with colors ...
- fastJson + lombok + 属性名命名 踩坑点
JavaBean属性名要求:前两个字母要么都大写,要么都小写 package com.jdyh.worker.project.controller; import com.alibaba.fastjs ...
- smarty中判断数组是否为空的方法
1,用count来取得数组的下标个数 下面例子中,如果$array为空则不输出任何数据 以下为引用的内容:{if $array|@count neq 0 }... ...{/if} 2,直接来判断 以 ...