Uni-app之微信小程序list组件

描述:这是一个在uni-app中list列表组件,上拉加载更多

参考:uni-app的小程序HelloUni的模板——》的列表详情示例

  1. 将HelloUni模板中的-——》components下的uni-load-more文件夹复制到你自己文件的components下
    在这里插入图片描述

  2. 在需要使用list组件的地方引入load-more

import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';

并且在components中正确的注册
在这里插入图片描述

  1. 编辑list内容
<view class="uni-list">
			<view class="uni-list-cell" hover-class="uni-list-cell-hover" v-for="(value, key) in listData" :key="key" @click="goDetail(value)">
				<view class="uni-media-list">
					<image class="uni-media-list-logo" :src="value.cover"></image>
					<view class="uni-media-list-body">
						<view class="uni-media-list-text-top">{{ value.title }}</view>
						<view class="uni-media-list-text-bottom">
							<text>{{ value.author_name }}</text>
							<text>{{ value.published_at }}</text>
						</view>
					</view>
				</view>
			</view>
	</view>
	<!--上拉加载更多->
	<uni-load-more :status="status"  :icon-size="16" :content-text="contentText" />
//数据
data() {
			return {
				
				page:{
					SafeUserId:this.$store.state.userInfo.userId,
					FireUnitName:'',
				},
				totalCount:0,
				status: 'loading',
				contentText: {
					contentdown: '上拉加载更多',
					contentrefresh: '加载中',
					contentnomore: '没有更多了'
				},
				reload: false,
				last_id:'',
				listData:[],
			}
		},
//获取列表
			GetFireUnitListForSafe(){
				this.$http.get(this.$api.GetFireUnitListForSafe,{data:this.page}).then(res=>{
					console.log(res)
					this.totalCount  = res.data.result.totalCount;
					if(res.data.result.totalCount >0){
						console.log("大于0")
						let list = res.data.result.items
						this.listData = this.reload ?list : this.listData.concat(list);
						this.last_id = list[list.length - 1].fireUnitId;
						this.reload = false;
					}else{
						console.log("小于0")
						this.listData = [];
					}
					if(this.totalCount == this.listData.length){
						this.reload = false;
						this.status = 'noMore'
					}
				})
			},
			//上拉加载更多
			onReachBottom() {//页面上拉触底事件的处理函数,下滑加载更多
				if(this.totalCount > this.listData.length){//如果totalCount大于listData.length就加载更多
					this.status = 'more';
					this.page.SkipCount  = this.listData.length
					this.GetFireUnitListForSafe();
				}else{//停止加载
					this.status = 'noMore'
				}
				
			},
  1. 注意如果从其他页面返回回来时,需要在onshow生命周期中配置些参数
onShow() {
			// console.log("onShow")
			this.page.SkipCount =0;
			this.listData =[];
			this.status = 'loading';
			this.GetFireUnitListForSafe()
		},
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值