vue+vant 分页、下拉刷新

<van-pull-refresh
  v-model="isLoading"
  success-text="刷新成功"
  @refresh="onRefresh"
>
	<van-list
	  	v-model="loading"
	   :finished="finished"
	   :finished-text="finishedText"
	   @load="onLoad"
   >
	   <div class="cell" v-for="(item,index) in list" :key="index">
		……
	   </div>
	</van-list>
</van-pull-refresh>


data() {
	return {
		page: 1,
		page_size:10,
		list: [],
		loading: false,
		finished: false,
		finishedText: "",
		isLoading:false,
	};
},
methods: {
	onLoad(){
      api.getList({page:this.page,page_size:this.page_size}).then(res=> {
        if (res.code === 200) {
            this.list = this.list.concat(res.data);
            this.loading = false;
            this.isLoading = false;
            let pageNum = Math.ceil(res.total / this.page_size);
            if (this.page >= pageNum) {
              // 数据全部加载完成
              this.finished = true;
            }
            this.list.length === 0 ? (this.finishedText = "暂无数据") : (this.finishedText = "没有更多了");
            this.page++;
        }else{
           this.finished = true;
           this.loading = false;
           this.isLoading = false;
        }
      });
    },
	onRefresh(){
		this.page = 1;
		this.list = [];
		this.loading = true;
		this.isLoading = true;
		this.finished = false;
		this.finishedText = "";
		this.onLoad();
	},
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值