vue 移动端vant下拉加载和上拉刷新

    <van-pull-refresh v-model="refreshing" class="refresh" @refresh="onRefresh">
      <van-list
        v-model="loading"
        :finished="finished"
        :offset="50"
        @load="onLoad"
      >
        <van-search
          v-model="searchText"
          placeholder="请输入搜索关键词"
          shape="round"
          @blur="onSearch"
        />
        <ul class="mailList">
          <li
            v-for="(item, index) in tabList"
            :key="index"
            @click="onClick(index, item)"
          >
            <span :class="{ click: index == select }">{{ item.name }}</span>
            <span v-if="item.tcount != 0" class="badge">{{ item.tcount }}</span>
          </li>
        </ul>
        <!-- 列表内容 -->

        <van-cell
          v-for="item in dataList"
          :key="item.index"
          @click="goIframe(item)"
        >
          <div v-if="select == 0" class="system">
            <div class="system_top">
              <div class="title">
                <span class="l_name"> {{ item.senderName }}</span><img
                  v-if="item.hasAtt != 0"
                  src="../../../assets/fujian.png"
                  width="12"
                  alt=""
                >
                <span class="time">{{ item.senderTime.slice(0, 19) }}</span>
              </div>
              <div class="smalltitle">
                <span class="s_small">{{ item.title }}</span>
              </div>
              <div class="r_content">
                <span>{{ item.content }}</span>
              </div>
            </div>
          </div>
        </van-cell>
      </van-list>
    </van-pull-refresh>
data(){
 return{
  loading: false,
  finished: false,
  refreshing: false
 }
}
 // 列表数据
    getData() {
      this.loading = true
      const data1 = {}
      request.post(`oaApi`, data1).then(res => {
          this.dataList = this.dataList.concat(res.data.rows)
          this.total = res.data.total
          if (this.dataList.length <= this.total) {
            if (res.data.total === 0) {
              this.finished = true
            } 
            else {
              this.finished = false
            }
          }
          // this.finished=true
          this.loading = false // 加载状态结束
        })
        .catch(err => {
          console.log(err)
        })
    },
    // 上拉刷新
    onLoad() {
      this.currentpage++
      this.loading = true
      const num = this.total / this.pageSize
      if (Number.isInteger(num)) {
        this.number = num
      } else {
        this.number = parseInt(num) + 1
      }
      if (this.dataList.length < this.total) {
        if (this.currentpage <= this.number) {
          this.getData()
          this.loading = false
        }
      } else {
        this.loading = false
        this.finished = true
      }
    },
    // 下拉刷新
    onRefresh() {
      this.dataList = []
      this.currentpage = 1
      this.getData()
      if (this.refreshing) {
        this.content = this.dataList
        this.dataList = this.content
        this.refreshing = false
      }
      this.loading = false
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值