首先 这是点击编辑以后 期待的样子
但是使用过程中出现了不现实的问题 之后找到了问题所在
这个下拉框的value是这种样子的【1,2,3,4】
给到数据库的时候我给他去掉了中括号变成了字符串就是这样子 1,2,3,4
所以 拿到前台的时候他依旧是个字符串 我们要把它变成一个数组
this.editForm.hospitalId = row.hospitalId.split(',').map(Number);
我把我代码放上来
点击编辑时代码
//表格编辑事件editClick:function(row) {//加载下拉框this.loadingOption();this.title="编辑"this.disabled=true;this.goUrl="/qxgl/update";this.editFormVisible = true;this.editForm = row;this.editForm.hospitalId = row.hospitalId.split(',').map(Number);//加上这句话},
下拉框代码:
<el-form-item label="医院"><el-select v-model="addForm.hospitalId"multipledefault-first-optionplaceholder="请选择"><el-optionv-for="item in options3":key="item.hospitalId":label="item.hospitalName":value="item.hospitalId"></el-option></el-select></el-form-item>
校验:
hospitalId: [{validator: function (rule, value, callback) {if (vm.editForm.hospitalId.length === 0) {callback(new Error('请选择医院'));} else {callback();}}}],