最近看到vue-happy-scroll可以实现下拉加载更多,所以体验一把
流程如下
下包:
yarn add vue-happy-scroll -D
导入:
import { HappyScroll } from "vue-happy-scroll";
import 'vue-happy-scroll/docs/happy-scroll.css'
// 注意:css也需要导入
开始使用:
<template>
<div class="box">
<HappyScroll hide-horizontal resize @vertical-end="loading">
<ul>
<li v-for="(item, index) in list" :key="index">
{{ item }}
</li>
</ul>
</HappyScroll>
</div>
</template>
<script>
import { HappyScroll } from "vue-happy-scroll";
import "vue-happy-scroll/docs/happy-scroll.css";
export default {
name: "04cli3App",
components: {
HappyScroll,
},
data() {
return {
// 数据初始化
list: [],
};
},
created() {
// 获取数据
this.list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
},
methods: {
loading() {
// 下拉至底部,加载更多数据
this.list.push(...[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
},
},
};
</script>
<style lang="css" scoped>
/* 样式布局 */
.box {
width: 300px;
height: 300px;
}
li {
margin: 100px 0;
}
</style>
注意点:
使用组件HappyScroll的父元素需要设置高度,并且导入happy-scroll.css,实现在窗口滚动底部触发vertical-end调用loading函数