uniapp使用mescroll-uni实现下拉刷新、上拉加载功能

mescroll-uni官网地址:http://www.mescroll.com/uni.html?v=20200315

<template>
  <mescroll-body ref="mescrollRef"
     @init="mescrollInit" 
     @down="downCallback" 
     @up="upCallback" :up="upOption" >
    <view class="list-one row-shadow" v-for="(item,index) in list" :key="index" @click="showDetail(index)">
      <view class="content">
        <text>{{item.date}}</text>
        <text class="text-sub">消费记录</text>
      </view>
      <view class="text-total arr-more"><text class="color-blue">{{item.total|formatTotal}}</text>元</view>
    </view>
  </mescroll-body>
</template>

<script>
  import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
  export default {
    mixins: [MescrollMixin], // 使用mixin (在main.js注册全局组件)
    data() {
      return {
        list: [], //列表
        upOption:{
        	auto: false,
        	page:{
        	  num : 0, 
        	  size : 15, 
        	  time : null 
        	},
          noMoreSize:4,
        },
      }
    },
    methods: {
      // 上拉回调
      upCallback(page){
      	this.getList(page);
      },
      getList(page){
        let pageNum = page.num; // 页码, 默认从1开始
        let pageSize = page.size; // 页长, 默认每页10条
        let params = {
          uin: this.$common.getGlobalUserInfo().id,
          pageNum: pageNum,
          pageSize: pageSize
        }
        this.$request.setRequest('/consumelist', params)
          .then(res => {
            if (res.data.status == 1) { //<=0:人工返回的错误信息
              let result=res.data.data;
              let curPageData = result&&result.list?result.list:[];
              let curPageLen = curPageData.length; 
              let totalPage = result&&result.list?result.pages:0;
              
              //设置列表数据
              if (page.num == 1) this.list = []; //如果是第一页需手动制空列表
              this.list = this.list.concat(curPageData); //追加新数据
              
              //联网成功的回调,隐藏下拉刷新和上拉加载的状态;
              this.mescroll.endByPage(curPageLen,totalPage);
             
            } else if (res.data.status < 1) { //<=0:人工返回的错误信息
              this.$request.setErrorMessage(res.data.msg);
              this.mescroll.endErr()
            } else {
              this.$request.setErrorMessage();
              this.mescroll.endErr()
            }
          }, (err) => {
            this.mescroll.endErr()
          });
      },
      
    }
  }
</script>

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

佛佛ง

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

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

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

打赏作者

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

抵扣说明:

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

余额充值