SSMP整合案例第八步 前端页面的分页功能完善与维护和实现条件查询

本文主要是介绍SSMP整合案例第八步 前端页面的分页功能完善与维护和实现条件查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分页

页面中有分页展示

查看组件

想用什么直接编辑

vue里面的常量数据

可以修改模型数据达到修改展示效果的能力

先在前端进入的时候加载分页数据

//钩子函数,VUE对象初始化完成后自动执行
created() {//加载全部数据// this.getAll();//加载分页数据this.getPage();
},methods: {//分页查询getPage() {console.log("getPage  run")//控制台打印axios.get("/users/"+this.pagination.currentPage+"/"+this.pagination.pageSize).then((res) => {this.dataList = res.data.data.records;});},

这样就能达到效果

修改数据模型绑定的数值

//分页查询
getPage() {console.log("getPage  run")//控制台打印axios.get("/users/"+this.pagination.currentPage+"/"+this.pagination.pageSize).then((res) => {this.pagination.pageSize=res.data.data.size;this.pagination.currentPage=res.data.data.current;this.pagination.total=res.data.data.total;this.dataList = res.data.data.records;});
},

这样在页面中就能展示出数据

修改后再执行查询就行

这样就能在页面中加载数据

分页的数据得从页面上拿 然后重新加载页面

小结

修改数据模型的数据

我们用axios发起一个以异步请求调用

获取分页数据

得到数据结果后 我们得拿到数据 进行工作

在改切换页码数据

将修改的页码值传递给数据模型中的currentPage这个属性

再重新执行更新刷新操作即可

分页功能维护

刚才还存在bug

比如我们把第三页的数据全部删掉后

页码还是后存在

应该不会显示当前页面,应该会显示前面的页面

所以我们会在controller中的查询中进行一个判断

@GetMapping("{currentPage}/{pageSize}")
public Result getPage(@PathVariable int currentPage ,@PathVariable int pageSize){IPage<User> page=userService.getPage(currentPage,pageSize);//如果当前页码值大于总页码值 那么重新执行查询操作 使用最大页码值作为大当前页码值if(currentPage>page.getPages()){page=userService.getPage((int) page.getPages(),pageSize);}System.out.println("分页数据:"+currentPage+" "+pageSize);return new Result(true,page);
}

这样就修改了这个bug

这个叫后台补救性方案

通用性比较强

这个在以后开发中属于是业务问题 和整合没有什么关系

我们应该根据需求来解决问题

条件查询

之前我们写了那么多

我们也能明白 其实条件查询就是我们我们在点击查询按钮后

执行分页的时候

我们输入在搜索框里的数据 能数据模型带走

用前端的axio发异步请求传入controller层执行查询工作

首先我们得去找数据模型在那绑定的

找到数据模型

发送请求的时候这些数据都要带走

我们让其绑定数据模型

我们直接绑定分页的数据模型

<div class="filter-container"><el-input placeholder="人员名称" v-model="pagination.name" style="width: 200px;"class="filter-item"></el-input><el-input placeholder="人员年龄" v-model="pagination.age" style="width: 200px;"class="filter-item"></el-input><el-input placeholder="人员性别" v-model="pagination.gender" style="width: 200px;"class="filter-item"></el-input><el-button @click="getPage()" class="dalfBut">查询</el-button><el-button type="primary" class="butT" @click="handleCreate()">添加</el-button>
</div>

现在就能封装了

我们接下来要在函数部分书写

让填入的参数连接到数据模型中的属性

数据模型被按钮带走查询

我们我们选择在分页查询里封装数据

这样加载控制台就能打印

数据连接上

测试一下看看在控制台能不能看见传入的这些参数

打印输出成功

接下来就要到controller层把数据接出来

现在controller层把数据传过去

但是在业务层没有对应的方法

我们还要去业务层修改

两个方法

业务层接口修改完去业务层实现类去实现接口中的方法

条件组织 实现了 动态查询

getPage() {if (this.pagination.name == "" && this.pagination.age == "" && this.pagination.gender == "") {//不用连接动态数据console.log("getPage null run")}//连接动态数据param = "?name=" + this.pagination.name;param += "&age=" + this.pagination.age;param += "&gender=" + this.pagination.gender;//组织参数 拼接url请求地址console.log(param);//运行分页查询成功console.log("getPage  run")axios.get("/users/" + this.pagination.currentPage + "/" + this.pagination.pageSize + param).then((res) => {this.pagination.pageSize = res.data.data.size;this.pagination.currentPage = res.data.data.current;this.pagination.total = res.data.data.total;this.dataList = res.data.data.records;});},

这篇关于SSMP整合案例第八步 前端页面的分页功能完善与维护和实现条件查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029987

相关文章

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

C# string转unicode字符的实现

《C#string转unicode字符的实现》本文主要介绍了C#string转unicode字符的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录1. 获取字符串中每个字符的 Unicode 值示例代码:输出:2. 将 Unicode 值格式化