vue 表格无限滚动下拉加载数据vue-infinite-loading

本文介绍了如何在Vue项目中集成vue-infinite-loading库,实现在表格底部无限滚动加载数据的功能。步骤包括安装库、引入组件、注入组件、配置表格及加载方法。通过调用接口动态加载数据,并根据加载状态更新表格内容。
摘要由CSDN通过智能技术生成

1. 下载vue-infinite-loading

npm install vue-infinite-loading --save

2.在需要使用的文件中引入

import InfiniteLoading from 'vue-infinite-loading';

 3.在该文件中注入组件

components: {
       InfiniteLoading,
}

 4.在表格底部插入

<el-table

:data="tableData"

v-loading="loading"

height="220"

style="width: 100%">

<el-table-column prop="id" label="编号" width="60"></el-table-column>

<el-table-column prop="accountCount" label="账号数" width="70"></el-table-column>

<el-table-column prop="type" label="仓位类型">

          <template slot-scope="scope">

                {{scope.row.type === 'MORE' ? '多仓': '空仓'}}

         </template>

</el-table-column>

<template slot="append">

          <InfiniteLoading

           @infinite="load"    //滚动鼠标时触发下拉加载的方法

           spinner="circles"    //加载中时显示为转圈

           force-use-infinite-wrapper=".el-table__body-wrapper"   //只有在表格底部滚动鼠标才能触发下拉加载>

         //加载状态的提示语

              <div slot="spinner">加载中...</div> 

              <div slot="no-more">所有数据加载完毕</div>

              <div slot="no-results">加载完毕</div>

          </InfiniteLoading>

 </template>

</el-table>

5.添加下拉加载的方法

load($state){

        //调用获取表格数据的接口

entrust.currentList(this.pageIndex, this.pageSize).then(res =>{

      if(res && res.data.code === 200 ){

            if (this.pageIndex === 1) {   

                this.tableData = res.data.data;     //首先加载后端返回的第一页的数据显示在表格中

               $state.complete();   //加载完成的状态

            }else{

                 if(!res.data.data || res.data.data.length < this.pageSize) {

                      $state.complete();   //加载完成的状态

                 }else{

                      this.tableData = this.tableData.concat(res.data.data);   //将后端新返回的数据拼接在原表格后面

                      $state.loaded();     //加载中的状态

                 }

            }

           this.pageIndex ++;    //鼠标在表格底部滑动时,翻页,即当前页数+1

     }else{

       $state.complete();      //加载完成的状态

}

})

 如有问题,欢迎留言!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值