一、前端

在table表格下,写样式

 <div style="margin: 10px 0">
      <el-pagination
          @current-change="handleCurrentChange"
          :current-page="pageNum"
          :page-sizes="[100, 200, 300, 400]"
          :page-size="pageSize"
          layout="total, prev, pager, next"
          :total="total">
      </el-pagination>
    </div>

默认值,第一次查询没有页码和页面大小所以给个默认值,因为我有帐号和姓名的模糊查询所以,后端会根据这四个值来返回前端所需要的数据

pageNum:1,
        pageSize:5,
        username: "",
        name: "" ,
        total: 0,

页面第一次自动渲染

 created() {
        this.load()
  },

 每次改变页码或者页号,发送一次请求。

handleCurrentChange(pageNum){
        
        this.load(pageNum)
    },

 

发送请求的代码

load(pageNum){
       if(pageNum){ this.pageNum =pageNum}

        this.$request.get('/user/selectByPage',{
            params:{
                pageNum:this.pageNum,
                pageSize: this.pageSize,
                username: this.username,
                name: this.name
            }
        }).then(res =>{
            this.tableData = res.data.records
            this.total =res.data.total
        
        })
    },

 

二、后端

/**
     * 分页查询
     * @param pageNum
     * @param pageSize
     * @param username
     * @param name
     * @return
     */
    @GetMapping("/selectByPage")
    public Result selectByPage( @RequestParam Integer pageNum,
                               @RequestParam Integer pageSize,
                                @RequestParam String username,
                                @RequestParam String name) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<User>().orderByDesc("id");
        queryWrapper.like(StrUtil.isNotBlank(username), "username", username);
        queryWrapper.like(StrUtil.isNotBlank(name), "name", name);
        Page<User> page = userService.page(new Page<>(pageNum, pageSize), queryWrapper);
        return Result.success(page);
    }

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部