vue + BS滚动和下拉刷新 上拉加载更多
- 下载:
npm install better-scroll -S
- 引入:
import BScroll from 'better-scroll'
<!-- -->
<template>
<div class="recommend_wrap">
<!-- <van-loading size="50px">加载中...</van-loading> -->
<ul class="recommend">
<li v-for="(item, index) in rightD" :key="index">
<img :src="item.imgUrl" alt />
<span>{{ item.title }}</span>
</li>
</ul>
</div>
</template>
<script>
import Vue from "vue";
import { Toast } from "vant";
Vue.use(Toast);
import BScroll from "better-scroll";
export default {
name: "Recommend",
data() {
return {
page: 0,
pageNum: 10,
rightD: [
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "男装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "男装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "男装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
},
{
title: "女装",
imgUrl:
"https://t00img-c.yangkeduo.com/goods/images/2020-08-13/ce99a1b2f665ba478d9573c314686c5d.jpeg"
}
]
};
},
mounted() {
this.$nextTick(() => {
this._initBScroll();
});
},
methods: {
_initBScroll() {
this.listScroll = new BScroll(".recommend_wrap", {
scrollY: true,
probeType: 3
});
this.listScroll.on("touchEnd", pos => {
if (pos.y >= 50) {
console.log("下拉刷新");
}
if (this.listScroll.maxScrollY > pos.y + 20) {
console.log("上拉加载更多");
}
});
this.listScroll.on("scrollEnd", () => {
this.listScroll.refresh();
});
}
},
components: {}
};
</script>
<style lang="scss" scoped>
ul,
li {
list-style: none;
padding: 0;
margin: 0;
}
.recommend_wrap {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
.recommend {
display: flex;
flex-wrap: wrap;
li {
width: 50%;
height: 150px;
display: flex;
flex-direction: column;
img {
display: block;
width: 100%;
height: 120px;
}
span {
width: 100%;
height: 20px;
}
}
}
}
</style>