SpringBoot+Vue集成Element实现分页管理以及CRUD

分页管理

后端这里采用了MP来实现数据CRUD操作,具体代码查看:

@GetMapping("/selectPage")
    public IPage<User> findPage(@RequestParam Integer pageNum,
                                @RequestParam Integer pageSize,
                                @RequestParam(defaultValue = "") String username,
                                @RequestParam(defaultValue = "") String email,
                                @RequestParam(defaultValue = "") String address) {
        IPage<User> page = new Page<>(pageNum, pageSize);
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        if (!"".equals(username)) {
            queryWrapper.like("username", username);
        }
        if (!"".equals(email)) {
            queryWrapper.like("email", email);
        }
        if (!"".equals(address)) {
            queryWrapper.like("address", address);
        }
        queryWrapper.orderByAsc("id");
        return userMapper.selectPage(page,queryWrapper);
    }

这里的pageNum是我们前端传来的第1,2,3...页码,但是mysql的limit后的第一个参数应该是(pageNum-1)*pageSize

前端这里的使用axios来请求后端,完成交互

request.get("http://localhost:9090/user/selectPage",{
        params:{
          pageNum:this.pageNum,
          pageSize:this.PageSize,
          username:this.username,
          email:this.email,
          address:this.address
        }
      }).then(res => {
        this.tableData = res.records
        this.total = res.total
      })

//这里的load是放在created里面执行的!

 created(){
    this.load()
  },

 下面的分页是根据element-ui官网找的

<el-pagination
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="pageNum"
              :page-sizes="[2, 5, 10, 20]"
              :page-size="PageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="total">
</el-pagination>
size-change 代表 每页条数 触发的事件,这个事件有一个参数就是每页条数
current-change 代表 当前页 触发的事件,这个事件有一个参数就是当前页的页码
handleSizeChange(pageSize){
      this.PageSize = pageSize
      this.load()
    },
    handleCurrentChange(pageNum){
      this.pageNum = pageNum
      this.load()
    }

每次点击这个页码的时候就回发送pageNum和pageSize。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值