<template>
<div>
<el-timeline
v-infinite-scroll="load"
style="overflow: auto">
<el-timeline-item :timestamp="item.craeteDate" placement="top" v-for="(item,index) in dataList" :key="index">
<el-card>
<h4>{{item.title}}</h4>
<p>{{item.content}}</p>
</el-card>
</el-timeline-item>
</el-timeline>
<div style="font-size: 16px;
color: #666666;
margin-bottom: 30px;
text-align: center;">
暂无数据
</div>
</div>
</template>
<script>
export default {
name: 'wel',
data() {
return {
finish: false,
dataList:[],
page: {
total: 0, // 总条数
current: 1,// 当前页数,
size: 10 // 每页显示多少条
}
}
},
created() {
this.getDataList()
},
methods:{
getDataList() {
getDataList(this.page).then(response => {
this.dataList= this.dataList.concat(response.data.data.records);
this.page.total = response.data.data.total;
}).catch((e) => {
});
},
load() {
//延迟1s执行 保证getDataList执行完毕 能取到总条数
setTimeout(()=>{
this.page.current=this.page.current+1;
let totalPage = Math.ceil(this.page.total / this.page.size);
if (this.page.current > totalPage) {
if (this.dataList.length == 0) {
this.finish = false;
} else {
this.finish = true;
}
return;
} else {
this.finish = false;
}
this.getDataList();
},1000)
}
}
}
</script>
element ui中Timeline时间线结合InfiniteScroll 无限滚动展示数据
于 2023-06-13 11:07:10 首次发布