1.用npm 安装好 better-scroll
npm install--save better-scroll
2.在需要的页面引入
import BScroll from 'better-scroll'
3.在data中定义 better-scroll的参数
options: {
pullDownRefresh: {
threshold: 50, // 当下拉到超过顶部 50px 时,触发 pullingDown 事件
stop: 20 // 刷新数据的过程中,回弹停留在距离顶部还有 20px 的位置
},
pullUpLoad: {
threshold: -20 // 在上拉到超过底部 20px 时,触发 pullingUp 事件
},
// pullDownRefresh: false, //关闭下拉
// pullUpLoad: false, // 关闭上拉
click: true,
probeType: 3,
startY: 0,
scrollbar: true
}
4.在template中写入
<div class="wrapper" ref="wrapper" :scrollbar="options.scrollbar" :startY="options.startY">
5.在methods中写入方法,我自定义的
load() {
if (!this.scroll) {
this.scroll = new BScroll(this.$refs.wrapper, this.options);
// 上拉
this.scroll.on('pullingUp', () => {
// 刷新数据的过程中,回弹停留在距离顶部还有20px的位置
this.setData();
})
} else {
this.scroll.refresh()
}
},
setData() {
this.$nextTick(() => {
let arr = [1, 2, 3, 'james'];
this.data = this.data.concat(arr)// 添加数据
this.scroll.finishPullUp();
this.pullingDownUp()
})
},
pullingDownUp() {
this.scroll.refresh() //重新计算元素高度
},
6.在created中加载
this.$nextTick(() => {
this.load()
this.setData()
})
网友评论