微信小程序 scroll-view实现上拉加载与下拉刷新的实例

实现效果图:
如图,使用小程序的scroll-view实现的上拉加载数据,下拉刷新数据,试下代码如下:
js文件代码:
var url = "http://192.168.30.4:8080/gtxcx/carrier/getCarrier.action";
var page = 1;
var GetList = function (that) {
that.setData({
hidden: false
});
wx.request({
url: url,
data: {
pageSize: 10,
pageNo: page
},
success: function (res) {
var l = that.data.list
for (var i = 0; i < res.data.length; i++) {
l.push(res.data[i])
}
that.setData({
list: l
});
page++;
that.setData({
hidden: true
});
}
});
}
Page({
data: {
hidden: true,
list: [],
scrollTop: 0,
scrollHeight: 0
},
onLoad: function () {
var that = this;
wx.getSystemInfo({
success: function (res) {
console.info(res.windowHeight);
that.setData({
scrollHeight: res.windowHeight
});
}
});
},
onShow: function () {
var that = this;
GetList(that);
},
bindDownLoad: function () {
var that = this;
GetList(that);
},
scroll: function (event) {
this.setData({
scrollTop: event.detail.scrollTop
});
},
refresh: function (event) {
page = 1;
this.setData({
list: [],
scrollTop: 0
});
GetList(this)
},
onPullDownRefresh: function () {
console.log("下拉")
},
onReachBottom: function () {
console.log("上拉");
}
})
json文件代码
{
"navigationBarTitleText": "下拉刷新",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
wxml文件代码:
<view class="container">
<scroll-view scroll-top="{{scrollTop}}" scroll-y="true" style="height:{{scrollHeight}}px;"
class="list" bindscrolltolower="bindDownLoad" bindscroll="scroll" bindscrolltoupper="refresh">
<view class="item" wx:for="{{list}}">
<image class="img" src="https://cdn.kuaidi100.com/images/all/56/zhongtong.png"></image>
<view class="text">
<text class="title">{{item.carrierName}}</text>
<text class="description">{{item.carrierTelphone}}</text>
<text class="description">{{item.carrierId}}</text>
</view>
</view>
</scroll-view>
<view class="body-view">
<loading hidden="{{hidden}}" bindchange="loadingChange">
加载中...
</loading>
</view>
</view>
wxss文件代码
.container{
height: 100%;
padding: 20rpx;
}
.item{
display: flex;
margin-bottom: 50rpx;
width:100%;
background:#f0f0f0;
overflow:hidden;
}
.img{
height: 100rpx;
width: 100rpx;
border-radius: 50%;
}
.text{
display: flex;
flex-shrink:1;
flex-grow:1;
padding: 10rpx;
flex-wrap: wrap;
font-size: 50rpx;
}
.title{
font-size: 50rpx;
margin:10rpx 100rpx 10rpx 100rpx;
}
.description{
font-size: 50rpx;
align-self:flex-end;
}
注意,
http://192.168.30.4:8080/gtxcx/carrier/getCarrier.action这个接口就是更具传入的页数,每次返回不同数据。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序
# scroll-view
# scroll-view上拉加载和下拉刷新
# 微信小程序 下拉刷新及上拉加载原理解析
# 微信小程序实现页面下拉刷新和上拉加载功能详解
# 微信小程序实现列表下拉刷新上拉加载
# 微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
# 微信小程序 列表的上拉加载和下拉刷新的实现
# 微信小程序(六):列表上拉加载下拉刷新示例
# 详解微信小程序开发之下拉刷新 上拉加载
# 微信小程序上拉加载和下拉刷新功能实现
# 加载
# 希望能
# 如图
# 谢谢大家
# 更具
# 加载中
# true
# push
# onLoad
# scrollTop
# scrollHeight
# Page
# length
# success
# pageNo
# lt
# list
# res
# onPullDownRefresh
# refresh
相关文章:
开心动漫网站制作软件下载,十分开心动画为何停播?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
建站之星好吗?新手能否轻松上手建站?
建站之星导航配置指南:自助建站与SEO优化全解析
深圳网站制作培训,深圳哪些招聘网站比较好?
建站之星备案是否影响网站上线时间?
建站之星导航菜单设置与功能模块配置全攻略
怀化网站制作公司,怀化新生儿上户网上办理流程?
网站制作员失业,怎样查看自己网站的注册者?
宝塔面板创建网站无法访问?如何快速排查修复?
贸易公司网站制作流程,出口贸易网站设计怎么做?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何确认建站备案号应放置的具体位置?
如何在企业微信快速生成手机电脑官网?
威客平台建站流程解析:高效搭建教程与设计优化方案
公众号网站制作网页,微信公众号怎么制作?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
建站之星后台管理如何实现高效配置?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
如何自定义建站之星模板颜色并下载新样式?
如何通过虚拟机搭建网站?详细步骤解析
如何用AWS免费套餐快速搭建高效网站?
香港网站服务器数量如何影响SEO优化效果?
焦点电影公司作品,电影焦点结局是什么?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
建站之星×万网:智能建站系统+自助建站平台一键生成
如何高效搭建专业期货交易平台网站?
如何高效利用200m空间完成建站?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
青浦网站制作公司有哪些,苹果官网发货地是哪里?
建站之星图片链接生成指南:自助建站与智能设计教程
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
建站之星下载版如何获取与安装?
微信h5制作网站有哪些,免费微信H5页面制作工具?
制作农业网站的软件,比较好的农业网站推荐一下?
,石家庄四十八中学官网?
C#如何序列化对象为XML XmlSerializer用法
如何快速辨别茅台真假?关键步骤解析
如何通过虚拟主机快速搭建个人网站?
如何用景安虚拟主机手机版绑定域名建站?
seo网站制作优化,网站SEO优化步骤有哪些?
个人网站制作流程图片大全,个人网站如何注销?
公司门户网站制作流程,华为官网怎么做?
如何选择服务器才能高效搭建专属网站?
如何快速搭建FTP站点实现文件共享?
建站之星如何修改网站生成路径?
香港服务器选型指南:免备案配置与高效建站方案解析
如何在建站之星网店版论坛获取技术支持?
山东云建站价格为何差异显著?
教学网站制作软件,学习*后期制作的网站有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。