分页,点击加载更多

<div v-if="isHadMessage">
  暂无消息
</div>
<div v-else>
  <div v-if="isLoading" @click="loadMore">
    点击加载更多......
  </div>
</div>
// 接口引入
import CaseSearch from '@/api/system/caseSearch.js'
data(){
  return{
    // 用于存放通过接口获取的后端数据
    tableData: [],
    // 当前页面
    current: 1,
    // 页面消息条数
    size: 10,
    // 消息总页数
    total: 1,
    // 消息总条数
    all: ''
    // 是否存在消息
    isHadMessage: false,
    // 点击加载更多
    isLoading: true
  }
} 
mounted(){
  this.pagindLoad()
}
methods: {
  pagindLoad(){
     // 将当前页数和页面消息条数发给后端
     let params = {
       size: this.size,
       current: this.current
     }
     //调用接口
     CaseSearch.message(params).then(res=>{
       // 如果不存在消息,显示暂无消息
       // res.data.all 后端传过来的总消息条数
       if(res.data.all === 0){
         this.isHadMessage = false
       }else{
         // 如果已经获取到的消息条数小于消息总条数,获取剩余的消息并且拼接到tableData中
         // 这里不能写出 <= ,如果加上 = ,数据全部请求完毕后,会多请求一次
         if(this.tableData.length < res.data.all){
           // res.data.total由你传过去的size决定
           this.total = res.data.total
           // res.data.data为从后端获取的一页数据,由你传过去的siez和current决定
           // 将获取到的数据拼接到tableData中
           this.tableData = this.tableData.concat(res.data.data)
           // 如果数据获取完毕
           if(this.tableData.length === res.data.all){
             this.isLoading = false
           }
         }
       }
     })
  },
  loadMore(){
    this.current++
    this.pagindLoad()
  }
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值