vue开发APP,结合vue-scroller实现上拉加载更多,下拉刷新数据的功能
2019-07-16 15:45
1786 查看
vue开发APP,结合vue-scroller实现上拉加载更多,下拉刷新数据的功能,没有一点问题,易懂
1、下载vue-scroller依赖包并在main.js中引用
npm i vue-scroller -D ————下载依赖包 import VueScroller from 'vue-scroller'; ——————main.js中引入 Vue.use(VueScroller);
2、在要实现刷新加载效果的元素外包裹scroller标签,一般都是ul,或者框架的list外围,
<scroller :on-refresh="refresh" :on-infinite="infinite" ref="myscroller"> //这里我用到的UI框架是museUI <mu-list textline="three-line" ref="container"> </mu-list> </scroller>
<scroller :on-refresh="refresh" :on-infinite="infinite" ref="myscroller"> //原生ul也可以 <ul><ul> </scroller>
3、要想实现刷新和加载更多,必须要让后台写好分页功能,所以我们在data里也必须要定义好以下几个变量
data() { return { page: 1, //页码 limit: 10, //每页显示几条数据 totalPage:0, //总页码 menuItem: [], //列表数据 } }
4、methods定义方法
loadData(page, limit) { QYLB(page, limit).then(res => { //发送请求,按自己的来写,该传多少参数就传多少 this.totalPage = res.data.totalPage; if (this.page == 1) { //当前页码若为1,则直接等于返回的数据 this.menuItem = res.data.list; } else { //当前页码不为1,则将返回的数据拼接到之前已获取到的数组后 this.menuItem = this.menuItem.concat(result.data.data.list) } }); }, refresh() { //下拉刷新 this.page = 1;//重置页码,每次刷新后页码均为第一页 setTimeout(function () { this.loadData(this.page, this.limit); this.$refs.myscroller.finishPullToRefresh();//刷新完毕关闭刷新的转圈圈 }.bind(this), 1700) }, //上拉加载更多 infinite(done) { if (this.page >= this.totalPage) { //若当前页码大于或等于总页码,则不再加载数据,提示没有更多数据 this.$refs.myscroller.finishInfinite(true);//这个方法是不让它加载了,显示“没有更多数据”,要不然会一直转圈圈 } else { setTimeout(() => { this.page++;//下拉一次页数+1 this.loadData(this.page, this.limit); done();//进行下一次加载操作 }, 1500); } },
5、值得注意的是,写好之后,可能样式上会出现问题,是因为scroller标签高度的问题,我检查元素后,加了如下样式
._v-container { top: 125px!important; //这是我页面头部的高度 height: calc(100% - 125px)!important; //高度给100%,然后减去头部高度 overflow-y: auto; }
相关文章推荐
- Android下拉刷新库,利用viewdraghelper实现,集成了下拉刷新,底部加载更多,数据初始加载显示loading等功能
- vue基于mint-ui组件loadmore实现上拉加载更多,下拉刷新功能
- vue实现的上拉加载更多数据/分页功能示例
- 关于Android 下拉刷新,上拉加载更多数据功能的详细解析
- iOS开发UI篇—在UItableview中实现加载更多功能
- iOS开发UI篇—在UItableview中实现加载更多功能
- vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
- 【Android开发笔记】pulltorefresh实现下拉刷新和上拉加载更多
- 微信小程序开发(十四)scroll-view实现下拉刷新上拉加载更多
- vue实现app问题总结(一)vue-cli本地开发数据Mock
- iOS开发UI篇-在UItableview中实现加载更多功能
- 第三方 MJRefresh 实现 iOS中 上拉加载更多,下拉刷新数据
- SwipeRefreshLayout配合RecyclerView实现下拉刷新和上拉加载更多以及没有数据的显示
- vue 2 滚动条加载更多数据实现
- 使用 Vue.js 实现加载更多功能
- 常见功能--下拉刷新、上拉加载更多效果实现
- android SwipeRefreshLayout与ListView结合实现下拉刷新,加载功能
- iOS开发UI篇—在UItableview中实现加载更多功能
- SwipeRefreshLayout实现下拉刷新、上拉加载更多功能
- XRecyclerView:实现下拉刷新、滚动到底部加载更多以及添加header功能的RecyclerView