vue-infinite-scroll-provider
vue-infinite-scroll-provider
🎯 install
$ yarn add vue-infinite-scroll-provider
# npm install vue-infinite-scroll-provider --save
🚀 Usage
<template>
<div id="app">
<infinite-scroll-provider @load-more="fetchData" :hase-item="haseItem" :loading="loading">
<template v-slot:progress>
<div style="background: blue;color: white; position: fixed;height: 50px;bottom: 0;left: 0;right: 0;">loading
data please wait ...
</div>
</template>
</infinite-scroll-provider>
</template>
<script>
import InfiniteScrollProvider from "vue-infinite-scroll-provider";
export default {
name: 'App',
data() {
return {
rows: 50,
haseItem: true,
loading: false,
page: 0
}
},
components: {
InfiniteScrollProvider
}, methods: {
fetchData() {
console.log('get data from server')
this.page++
if (this.haseItem) {
this.loading = true
setTimeout(() => {
this.loading = false
this.rows += 50
if (this.page === 5) {
this.haseItem = false
}
}, 3000)
}
}
}
}
</script>
<style>
</style>
Dependencies
@babel/core: ^7.14.6@babel/preset-env: ^7.14.7@rollup/plugin-alias: ^3.1.2@rollup/plugin-babel: ^5.3.0@rollup/plugin-commonjs: ^14.0.0@rollup/plugin-node-resolve: ^9.0.0@rollup/plugin-replace: ^2.4.2@vue/cli-plugin-babel: ^4.5.13@vue/cli-service: ^4.5.13cross-env: ^7.0.3minimist: ^1.2.5rimraf: ^3.0.2rollup: ^2.52.8rollup-plugin-terser: ^7.0.2rollup-plugin-vue: ^5.1.9vue: ^2.6.14vue-template-compiler: ^2.6.14