赞
踩
目录
微信小程序提供onReachBottom()上拉事件,链接:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onReachBottom
onReachBottom()事件直接调用就可以。
在进行调用时要对当前页和总页数进行对比,判断是否要进行刷新数据
- data: {
- list:'',//数据列表
- page:1,//请求的第几页
- size:10, //每页多少条哦
- totalpage:1,//总页数
- },
- onShow() {
- this.getList()
- },
- // 上拉事件
- onReachBottom(){
- if(this.data.page<=this.data.totalpage){
- this.getList()
- }
- },
- getList(){
- let page=this.data.page
- //接口参数
- let params={
- page: this.data.page,
- size: this.data.size
- }
-
- //获取数据的接口请求成功后
- page++
- this.setData({
- [`list[${this.data.page-1}]`]:items,//items:后台返回数据
- page:page,
- totalpage:res.data.totalpage
- })
- //... [`list[${this.data.page-1}]`]:items这种写法是为避免setData数据量过大,list数据在使用时需注意多循环一层
-
- },
- <block class="" wx:for="{{list}}" wx:for-item="pitem" wx:for-index="pindex" wx:key="{{pindex}}">
- <view class="" wx:for="{{pitem}}" wx:key="{{index}}">{{item}}</view>
- </block>
请先看文档https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html
在这里需要用到lower-threshold, bindscrolltolower两个属性
lower-threshold:距底部/右边多远时,触发 scrolltolower 事件,默认值50
bindscrolltolower:滚动到底部/右边时触发
其实也没什么好说的,和页面上拉加载是一样的
注意:bindscrolltolower 到底部会一直触发,需要要定义一个变量来控制
.wxml
- <scroll-view scroll-y="true" style="height: 100%;" lower-threshold="200" bindscrolltolower="scrollToLower">
- </scroll-view>
-
.js
- data: {
- list:'',//数据列表
- page:1,//请求的第几页
- size:10, //每页多少条哦
- totalpage:1,//总页数
- loading:false,//控制变量
- },
- onShow() {
- this.getList()
- },
- // scroll-view触底事件
- scrollToLower(){
- if(!this.data.loading && this.data.page<=this.data.totalpage){
- this.setData({
- loading:true
- })
- this.getList()
- }
- },
- getList(){
- let page=this.data.page
- //接口参数
- let params={
- page: this.data.page,
- size: this.data.size
- }
-
- //获取数据的接口请求成功后
- page++
- this.setData({
- [`list[${this.data.page-1}]`]:items,//items:后台返回数据
- page:page,
- totalpage:res.data.totalpage,
- loading:false
- })
-
- },
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。