关于vant滚动事件踩坑记-上拉加载,下拉刷新

vant 上滑加载和下拉刷新

load事件能触发的关键因素是必须要设置css,也就是list的高度,height:100%,overflow-y:auto;

上拉加载,下拉刷新的关键代码:

<van-pull-refresh v-model="refreshing" @refresh="onRefresh" class="list-box">
        <van-list v-model="loading" :finished="finished" class="list-box"
            finished-text="没有更多了"
            :immediate-check="false"
            @load="onLoad"
            >
            <div class="list-info" v-for="item,i in riskList" :key="i">
              <div class="list-module">
                <div class="list-cont">{{item.province}}{{item.city}}{{item.area}}{{item.address}}</div>
                <div class="high-mark" v-if="item.riskLevelEnum=='HIGH_RISK'">高风险</div>
                <div class="middle-mark" v-if="item.riskLevelEnum=='MIDDLE_RISK'">中风险</div>
                <div class="important" v-if="item.riskLevelEnum=='IMP_AREA'">重点地区</div>
              </div>
            </div>
        </van-list>
      </van-pull-refresh>
	  refreshing:false, //刷新
      loading: false,
      finished: false,
      pageNum: 1,
      pageSize: 10,
		const { code, result } = await historyHighRisk(params);
        if (code === 200) {
          this.$toast.clear();
          this.riskList = this.riskList.concat(result.data)
          this.loading = false;
          //如果列表数据条数>=总条数,不再触发滚动加载
          if(this.riskList.length >= result.totalSize){
              this.finished = true; // 加载结束
              console.log('加载结束');
          }
          this.pageNum++;
          if (this.riskList  == null || this.riskList.length === 0) { 
              this.finished = true;
              return;
          }
        } else {
            this.$toast(res.message);
            this.finished = true;
            this.loading = false;
        }
	onLoad() {
      setTimeout(async () => {
        if (this.refreshing) {
          this.list = [];
          this.refreshing = false;
        }
        await this.getHistoryList();
      }, 500);
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值