<template>
<view>
<uni-list>
<uni-list-item v-for="(item,index) in result" :key="index" :title="item.title"
:thumb="item.image" thumbSize="lg" :note="item.passtime"></uni-list-item>
</uni-list>
<!-- 如果不想用默认的方形图片。姐可以将上方图片选项去除,在下方利用插槽自定义图片形状等 -->
<image solt="header" :src="item.image" class="header_image"></image>
<uni-load-more :status="status"></uni-load-more>
<!-- <uni-load-more status="loading"></uni-load-more> -->
</view>
</template>
<script>
export default {
data(){
return{
result:[],
status:'more',
page:1,//当前所在页
}
},
mounted(){
this.getData();
},
//监听下拉刷新,刷新时 获取第一页数据
onPageNotFound() {
uni.request({
url:'https://api.apiopen.top/getWangYiNews',
method:'GET',
data:{
page:1
},
success: res => {
console.log(res);
//获取成功后,新数据替换旧数据
this.result = res.data.result;
this.page = 1; //页数重置为第一页
uni.stopPullDownRefresh(); //停止转圈,当下拉刷新后成功后 去除转圈动画
},
fail: () => {},
complete: () => {}
})
},
//页面的生命周期:监听页面触底事件
onReachBottom(){
// alert('触底事件')
//触底后让'more没有更多数据了'变成'loading正在加载中'的状态,然后准备获取下一页的数据
this.status = 'loading';
//请求的完整格式:https://api.apiopen.top/getWangYiNews?page=1
uni.request({
url:'https://api.apiopen.top/getWangYiNews',
method:'GET',
data:{
page: this.page+1
},
success: res => {
console.log(res);
//获取成功后,将新数据和旧数据合并到一起,实现新旧数据的合并
this.result = [...this.result, ...res.data.result];
//合并后对页数进行加一(请求结束后数据加了一页的内容,页面也应该加一,才会将数据展示在页面)
this.page ++;
},
fail: () => {},
complete: () => {}
})
},
methods: {
getData() {
uni.request({
url:'https://api.apiopen.top/getWangYiNews',
method:'GET',
data:{},
success: res => {
console.log(res);
this.result = res.data.result;
},
fail: () => {},
complete: () => {}
});
}
}
}
</script>
<style>
</style>
渲染列表,上拉加载提示数据加载中,没有数据后停止,下拉刷新数据,书信成功后关闭转圈动画
最新推荐文章于 2024-03-16 15:30:40 发布