1.安装
npm install vue-infinite-loading --save
2.导入
import InfiniteLoading from 'vue-infinite-loading'
export default {
components:{
InfiniteLoading
},
}
3.使用
模板:
<infinite-loading spinner="spiral" @infinite="load">
<span slot="no-more">没有更多数据...</span>
<span slot="no-results">没有更多数据......</span>
</infinite-loading>
script:
load(state) {
const params = {
recordId: this.content.id,
pageNum: this.pageNum,
pageSize: this.pageSize
}
this.getData(params,state)
},
getData(params, state) {
logApi(params).then(res => {
if (res.data.list.length < this.pageSize) {
state.complete()
} else {
this.pageNum = this.pageNum + 1
state.loaded()
}
this.msg = this.msg.length ? [...this.msg, ...res?.data?.list] : res?.data?.list
})
},