渲染列表,上拉加载提示数据加载中,没有数据后停止,下拉刷新数据,书信成功后关闭转圈动画

在这里插入图片描述

<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>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

礼礼。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值