springboot + elementui 实现分页功能

目录

后端

//	num为当前页 size为每页个数
    public Page<codesection> pageAll(int num, int size) {
    //第一部分 实现分页查询
        Pageable pageable = PageRequest.of(num,size);
        Page<codesection> codesections = codesectionDao.findAll(pageable);
        //第二部分 将page 转成list 添加数据
        List<codesection> codesectionslist = codesections.getContent();
        for (int i = 0; i < codesectionslist.size(); i++) {
            codesectionslist.get(i).setFactoryname(factoryinfoDao.findByFactoryid(codesectionslist.get(i).getFactoryid()).getFactoryname());
            codesectionslist.get(i).setLinename(lineinfoDao.findByLineid(codesectionslist.get(i).getLineid()).getLinename());
        }
        //第三部分将 list 转成 page 并返回
        // 当前页第一条数据在List中的位置
        int start = 0;
        // 当前页最后一条数据在List中的位置
        int end = codesectionslist.size();
        // 配置分页数据
        Page<codesection> klassPage = new PageImpl<codesection>(codesectionslist.subList(start, end), pageable, codesections.getTotalElements());
        return klassPage;
    }

前端

<div class="pagination">
  <el-pagination
    background
    layout="total, prev, pager, next"
    :current-page="query.pageIndex"
    :page-size="query.pageSize"
    :total="pageTotal"
    @current-change="handleCurrentChange"
    style="position: fixed;bottom: 20px;"
  ></el-pagination>
</div>
data() {
   return {
     query:{
       pageIndex:0,
       pageSize:9,
     },
     pageTotal: 0,
   }
 },
created() {
  this.getData(this.query.pageIndex,this.query.pageSize)
},
getData(currentPage,pageSize){
  this.axios({
    method:'GET',
    url:'/page/'+currentPage+'/'+pageSize,
  })
    .then(res =>{
      console.log(res)
      this.codes = res.data.content;
      this.pageTotal = res.data.totalElements;
    })
},
handleCurrentChange(value){
  this.query.pageIndex = value;//获得当前页码
  this.getData(this.query.pageIndex-1,this.query.pageSize);
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值