MUI 上拉刷新/下拉加载功能实例代码
(编辑:jimmy 日期: 2025/10/25 浏览:3 次 )
新闻信息列表必备的功能,支持Table,Ul等列表.
以下是DIV版本,在安卓端或者ios端必须使用双webview模式,传送门:http://dev.dcloud.net.cn/mui/pulldown/
<!--下拉刷新容器-->
<div id="pullrefresh" class="mui-content mui-scroll-wrapper">
<div class="mui-scroll">
<!--数据列表-->
<ul class="mui-table-view">
</ul>
</div>
</div>
<script type="text/javascript">
mui.init
({
pullRefresh:
{
container: '#pullrefresh',
down: {
callback: pulldownRefresh
},
up: {
contentrefresh: '正在加载...',
callback: pullupRefresh
}
}
});
/*
* 下拉刷新具体业务实现
*/
function pulldownRefresh()
{
setTimeout(function()
{
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
//模拟数据
for (var i = cells.length, len = i + 3; i < len; i++) {
var li = document.createElement('li');
li.className = 'mui-table-view-cell';
li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
//下拉刷新,新纪录插到最前面;
table.insertBefore(li, table.firstChild);
}
mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed
}, 1500);
}
var count = 0;
/*
* 上拉加载具体业务实现
*/
function pullupRefresh()
{
setTimeout(function() {
mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
for (var i = cells.length, len = i + 20; i < len; i++) {
var li = document.createElement('li');
li.className = 'mui-table-view-cell';
li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
table.appendChild(li);
}
}, 1500);
}
if (mui.os.plus) {
mui.plusReady(function() {
setTimeout(function() {
mui('#pullrefresh').pullRefresh().pullupLoading();
}, 1000);
});
} else
{
mui.ready(function() {
mui('#pullrefresh').pullRefresh().pullupLoading();
});
}
</script>
个人心得
1、手动加载loading,并且会立即调用[下拉刷新]绑定的函数
mui('#pullrefresh').pullRefresh().pullupLoading(); //使用这个之后,自动会加载[下拉刷新]绑定的函数
2、停止上拉刷新和下拉加载的loading
mui('#pullrefresh').pullRefresh().endPullupToRefresh(num >= cnt); //参数可以为返回true/false的表达式
mui('#pullrefresh').pullRefresh().endPulldownToRefresh();
3、初始化
初始化时通常要将原数据列表清空,如:$("#mui-table-view").html("");
那么请务必将以下代码放置在清空代码之后.这和scroll的滚动性质有关
mui('#pullrefresh').pullRefresh().refresh(true); //恢复滚动
mui('#pullrefresh').pullRefresh().scrollTo(0,0,100); //滚动置顶
4、Iscroll方面的扩展和内容
https://www.jb51.net/article/111090.htm
5 Vue使用
<template>
<div>
<header class="mui-bar mui-bar-nav">
<button @click="model" class=" mui-btn mui-btn-blue mui-btn-link mui-btn-nav mui-pull-left"><span class="mui-icon mui-icon-left-nav"></span>{{ modelName }}</button>
<h1 class="mui-title">笑话大全</h1>
</header>
<div class="mui-content mui-scroll-wrapper" id="pullrefresh" >
<div class="mui-scroll">
<div class="mui-card" v-for="item in items">
<div class="mui-card-header mui-card-media" style="">
<div class="mui-card-content-inner">
<p style="color: #333;">{{ item.content }}</p>
</div>
</div>
<div class="mui-card-content" v-if="item.url">
<img :src="/UploadFiles/2021-04-02/ item.url ">
以上所述是小编给大家介绍的MUI 上拉刷新/下拉加载功能实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
下一篇:从零开始学习Node.js系列教程四:多页面实现的数学运算示例