分页查询前后端代码

一、前端

在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);
    }
相关推荐
梦想CAD控件3 分钟前
在线CAD开发包结构与功能说明
前端·javascript·vue.js
张拭心8 分钟前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
时光不负努力8 分钟前
typescript常用的dom 元素类型
前端·typescript
小怪点点14 分钟前
大文件切片上传
前端
时光不负努力14 分钟前
TS 常用工具类型
前端·javascript·typescript
SuperEugene16 分钟前
Vue状态管理扫盲篇:Vuex 到 Pinia | 为什么大家都在迁移?核心用法对比
前端·vue.js·面试
张拭心18 分钟前
Android 17 来了!新特性介绍与适配建议
android·前端
徐小夕23 分钟前
pxcharts-vue:一款专为 Vue3 打造的开源多维表格解决方案
前端·vue.js·github
Hilaku23 分钟前
我会如何考核一个在简历里大谈 AI 提效的高级前端?
前端·javascript·面试
青青家的小灰灰1 小时前
React 反模式(Anti-Patterns)排查手册:从性能杀手到逻辑陷阱
前端·javascript·react.js