除了对某个表基本的增删改查以外,可能需要额外的增加操作,这里是通过按钮来实现的
1、新增一个测试按钮
<el-button type="primary" class="butT" @click="test()">测试</el-button>
2、这个按钮绑定一个方法test(),这个方法是为了弹出一个框,只需要修改this.dialogFormVisibleTest的dialogFormVisibleTest值即可(dialogFormVisibleTest 是弹窗的名称,可以理解为是id)
// 弹出测试窗口 test() { this.dialogFormVisibleTest = true; this.resetForm(); }
3、定义dialogFormVisibleTest 这个弹窗的内容
<!-- 测试标签弹层 --> <div class="add-form"> <el-dialog title="测试表单" :visible.sync="dialogFormVisibleTest"> <el-form ref="" :model="formData" :rules="rules" label-position="right" label-width="100px"> <el-row> <el-col :span="12"> <el-form-item label="输入框1" prop="code1"> <el-input v-model="formData.code1"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="输入框2" prop="code2"> <el-input v-model="formData.code2"/> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="下拉框" prop="xlk"> <el-select v-model="formData.xlk"> <el-option label="不限" value="0"></el-option> <el-option label="男" value="1"></el-option> <el-option label="女" value="2"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="时间" prop="time"> <el-date-picker v-model="formData.time" type="datetime" placeholder="选择日期时间"> </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="多行文本"> <el-input v-model="formData.remark" type="textarea"></el-input> </el-form-item> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisibleTest = false">取消</el-button> <el-button type="primary" @click="handleTest()">确定</el-button> </div> </el-dialog> </div>
上面的弹窗包括常见的四种类型,输入文本框、时间、多行文本、下拉框,然后标红了的都是需要根据业务需求进行修改的地方,这里特别注意prop和v-model中绑定的值是要一致并且跟后端接收的实体类的属性名称要一致,不然表单数据就赋值不了给那个实体类,也就是后端就拿不到前端传过来的值了
这个弹窗还有在vue的data里定义一下
这样弹窗才会有效果
4、编写handleTest方法 ,只需要根据业务修改红色画出来的地方就可
到这里整个前端就改好了
5、后端定义与前端对应的实体类
package com.sd.sbmb.entity; import lombok.AllArgsConstructor; import lombok.Data; import java.io.Serializable; import java.util.Date; @Data @AllArgsConstructor public class Test implements Serializable { String code1; String code2; Integer xlk; String remark; Date time; }
6、写个控制器看看前端数据传给后端没
//测试 @RequestMapping("/handleTest") public Result handleTest(@RequestBody Test test){ try { System.out.println(test); }catch (Exception e){ return new Result(false,MessageConstant.EDIT_FAIL); } return new Result(true,MessageConstant.EDIT_SUCCESS); }