VUE(4)使用element前端分页

1、 页面组件设置:        el-table(表格)、pagination(页码)

 <el-table
                border
                style="width: 100%"
                :data="pageList" //数组类型,列表所需要的数据
                >
                <el-table-column type="index" width="50"> </el-table-column>
                <el-table-column label="文件ID" prop="fileId" width="200"> </el-table-column>
                <el-table-column label="文件名" prop="fileName" width="200"></el-table-column>
                <el-table-column label="文件夹" prop="fileParent" width="200"> </el-table-column>
                <el-table-column label="文件类型" prop="fileType" width="200"></el-table-column>
                <el-table-column label="用户ID" prop="userId" width="200"></el-table-column>                                                       </el-table>

<el-pagination
              background
              layout="prev, pager, next"         //页码布局,上一页、当前页、下一页
              :page-size="pageSize"              //每页数据多少条,每页容量
              @current-change="currentChangeHandle"   //切换页码时触发,获取当前页面的方法
              :current-page="currentPage"   //当前页码
              :total="total">                             //总共多少条数据,数据总量
</el-pagination>

2、关键变量设置

data(){
            return{
                pageSize: 20,        //每页20条数据
                pageList: [],           //单页数据
                totalPage: [],         //全部数据
                pageNum: 0,         //总共多少页
                total: 0,                  //总共多少条
                currentPage: 1,     //当前页码
            }
  },

3、分页逻辑

currentChangeHandle (val) {                                //       页码传参,获取 el-pagination 的 val 属性
                    this.currentPage = val;                      //       获取页码                        
                    this.changeBind();                             //       根据当前页码分页              
},  

changeBind(){                                                              
                let that = this;              
                this.$axios({
                    method: 'GET',
                    url:'http://localhost:8080/file',
                }).then(function (response) {

                    that.totalPage = response.data.object;                 //获取全部数目
                    that.total = response.data.object.length;              //获取数据条数,总共多少条数据
                    that.pageNum = Math.ceil(that.total / that.pageSize) || 1 ;

                                                                                                        //获取页码总数,总共多少页
                    for (let i = 0; i < that.pageNum; i++) {
                        that.pageList = that.totalPage.slice(that.pageSize * (that.currentPage - 1), that.pageSize * that.currentPage);                                            

                                      //获取前 n-1 页 到 前 n 页之间的数据,截取页码 [n-1 , n ) 之间的页面数据

                                     //分页完成,成功拿到当前页的数据
                    }
                }).catch(function (error) {
                    console.log(error);
                });
            },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值