列表刷新

133 阅读1分钟
<van-pull-refresh id="list-box-claim" v-model="refreshing" @refresh="onRefresh">      <van-list        v-model="loading"        :finished="finished"        finished-text="没有更多了"        @load="onLoad"        v-if="!isNoData"      >        <div          class="list-item"          v-for="(item,index) in list"          :key="index"          :class="item.operateStatus === '0' ? 'gray' : ''"          @click="goDetail(item)"        >          // ...         </div>      </van-list>      <div class="no-data" v-if="isNoData">        <img :src="require('@/assets/images/accident/noData.png')">        <span>暂无相关数据</span>      </div>    </van-pull-refresh>

list: [],      pageNum: 1,      pageSize: 15,      isNoData: false,      loading: false,      finished: false,      refreshing: false,



handRefresh() {      document.getElementById('list-box-claim').scrollTop = 0;      this.refreshing = true;      this.onRefresh();    },    onLoad() {      this.fetchList();    },    onRefresh() {      this.pageNum = 1;      this.finished = false;      this.loading = true;      this.onLoad();    },    async fetchList() {      const params = {        listType: this.currentTab,        pageNo: this.pageNum,        pageSize: this.pageSize,      };      const res = await HttpApi.getClaimList(params);      console.log(res);      if (this.refreshing) {        this.list = [];        this.refreshing = false;      }      this.loading = false;      this.timeRange = res.timeRange;      this.isDisabledLoss = res.claimsTaskListButtonDTO.accessDrpFixLoss === 'Y' ? false : true;      this.isDisabledPay = res.claimsTaskListButtonDTO.accessDrpCommitCredential === 'Y' ? false : true;      // 更新tab下面对应的数量      this.$emit('change-num', res.listNum);      if (res?.data?.length) {        this.isNoData = false;        this.list = [...this.list, ...res.data];        this.pageNum++;        if (this.list.length >= res.total) {          this.finished = true;        }      } else {        this.finished = true;        this.isNoData = true;      }    },