博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue中使用better-scroll实现下拉刷新,上拉加载功能。
阅读量:5817 次
发布时间:2019-06-18

本文共 1152 字,大约阅读时间需要 3 分钟。

拿部分代码举个栗子:

        mounted() {   
//第一步:导入插件后,在mounted中初始化插件
            this.$nextTick(() => {
                this.scroll = new BScroll(this.$refs.itemScroll, {
                    click: true,
                    probeType: 3
                })
                this.scroll.on('scroll', (pos) => {
                    if (pos.y > 50) { 
//下拉高度大于50 (看自己需要)
                        this.dropDown = true  
//逻辑操作,我这是显示下拉提示组件
                    } else {
                        this.dropDown = this.isLoading ? true : false  
//isloading 表示正在加载数据(加载中也显示下拉提示组件)
                    }
                })
               
 //touchEnd(手指离开以后触发) 通过这个方法来监听下拉刷新
                this.scroll.on('touchEnd', (pos) => {
                    // 下拉动作
                    if (pos.y > 50) {
                        this.isLoading = true
                        this.page = 1
                        this.getPostList().then(res => { 
//此处请求接口,处理数据,具体逻辑看自己需求,此处仅供参考
                            this.list = res.list
                            this.com_info = res.list.comment_info
                            this.downTip = 2 
//提示内容
                            setTimeout(() => {
                                this.isLoading = false
                                this.dropDown = false
                                this.downTip = 1
                            }, 1000)
                        })
                    }
                 
   //上拉加载 总高度>下拉的高度+数值(20仅供参考) 触发加载更多
                    if (this.scroll.maxScrollY > pos.y + 20) {
                       
 //使用refresh 方法 来更新scroll 解决无法滚动的问题
                        if (this.isMorePage) {  
//判断是否有下一页
                            this.pullUp = true  
//显示上拉提示组件
                            this.page++
                            this.getPostList().then(res => { 
//调用接口,处理数据
                                this.pullUp = false
                                this.list = this.list.concat(res.list)
                                this.scroll.refresh()  
//刷新插件!!!!!这个挺重要的!别忘了。不然会一卡一卡
                            })
                        }
                    }
                })
            })
        },

转载于:https://www.cnblogs.com/kevinyeah/p/11004604.html

你可能感兴趣的文章
Windows phone 8 学习笔记
查看>>
我的友情链接
查看>>
感悟贴2016-05-13
查看>>
参加婚礼
查看>>
Java重写equals方法和hashCode方法
查看>>
Spring ’14 Wave Update: Installing Dynamics CRM on Tablets for Windows 8.1
查看>>
MySQL 备份与恢复
查看>>
TEST
查看>>
PAT A1037
查看>>
(六)Oracle学习笔记—— 约束
查看>>
[Oracle]如何在Oracle中设置Event
查看>>
top.location.href和localtion.href有什么不同
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
d3 v4实现饼状图,折线标注
查看>>
微软的云策略
查看>>
Valid Parentheses
查看>>
nginx 301跳转到带www域名方法rewrite(转)
查看>>
AIX 配置vncserver
查看>>
windows下Python 3.x图形图像处理库PIL的安装
查看>>