Springboot+Elementui+Vue之el-select对象属性绑定
项目环境:springboot+vue+elementui前后端分离
问题简述:我在做多条件查询的时候,出现了下拉列表el-option中的值和el-select不能绑定的情况,因而导致不能正确查询,算是一个遗留问题,很开心,记录一下,希望可以给大家一些启发一、项目截图
文章图片
二、解决问题的关键
value-key :作为 value 唯一标识的键名,绑定值为对象类型时必填(很明显,当el-select下拉列表绑定的值为对象类型时需要使用
value-key
)三、vue端表单代码 【Springboot+Elementui+Vue之el-select对象属性绑定】多条件查询表单
查询
大家可以看到我的代码中value-key=“value”,为的是和el-option中的下拉框options传值:value
绑定,这样就可以把id传向后台,这样问题就解决了
/*角色下拉框*/
roleFocus() {
const _this = this
this.axios.get("http://localhost:8181/Role/getAllRoles")
.then(function (resp) {
_this.formInline.roleData = https://www.it610.com/article/resp.data
})
},
/*部门下拉框*/
deptFocus() {
const _this = this
this.axios.get("http://localhost:8181/Department/getAllDepts")
.then(function (resp) {
_this.formInline.deptData = https://www.it610.com/article/resp.data
})
},
多条件查询请求后台
onsubmit(formName) {
const _this = this
this.$refs[formName].validate((valid) => {
if (valid) {
//将object对象转化为json字符串
var qs = require('querystring')
axios.post("http://localhost:8181/Employee/allEmps/1/4/", qs.stringify(this.formInline)
).then(function (resp) {
_this.tableData = https://www.it610.com/article/resp.data.list
_this.total = resp.data.total
});
} else {
return false;
}
});
}
四、后台controller代码
@PostMapping("/allEmps/{page}/{size}")
public PageInfo showAllEmployee(@RequestBody @PathVariable("page") int pageNo, @PathVariable("size") int pageSize, String empName, String account, Integer empRoleId, Integer empDeptId) {
//定义分页格式
PageHelper.startPage(pageNo, pageSize);
// 执行查询所有员工方法
List allEmployee = employeeService.getAllEmployee(empName, account, empRoleId, empDeptId);
//将员工按要求分页操作
PageInfo employeePageInfo = new PageInfo(allEmployee);
return employeePageInfo;
}
以上就是解决问题的思路,如有不完善还请各位见谅,我也会不断反思争取写的更好,互相学习,共同进步
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天
- python学习之|python学习之 实现QQ自动发送消息