1 说明
对原先的一个表单编辑功能进行修改,有两个选择框从非必填变为必填。
修改完成后,去编辑的时候有时候就会出问题,明明选择了值,却还是出现非空提示
2 代码
其中,机构部门和是否是负责人从非必填变为必填了
<el-dialog :title="dialogTitle" :visible.sync="dialogAddVisible" width="600px" @close="reset">
<el-form :model="tableForm" ref="tableForm" :rules="tableRules" label-width="160px">
<el-form-item label="名称" prop="positionname" >
<el-input v-model="tableForm.positionname" style="width:90%"></el-input>
</el-form-item>
<el-form-item label="本级排序" prop="sortno" >
<el-input v-model="tableForm.sortno" style="width:90%"></el-input>
</el-form-item>
<el-form-item label="机构部门" prop="orgidseq" >
<el-cascader :options="orgnizationlist" v-model="tableForm.orgidseq" :show-all-levels="false" style="width:90%"></el-cascader>
</el-form-item>
<el-form-item label="上级岗位" prop="parentId" >
<el-select v-model="tableForm.parentId" clearable filterable placeholder="请选择" style="width:90%">
<el-option
v-for="item in keyList"
:key="item.value"
:label="item.name"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否是负责人" prop="feild2" >
<dx-select codeType="boolean" v-model="tableForm.feild2" clearable style="width:90%"></dx-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="tableForm.remark" style="width:90%"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveAddForm">确 定</el-button>
<el-button @click="reset">取 消</el-button>
</div>
</el-dialog>
校验规则
tableRules:{
positionname:[{required: true, message: '请输入'}],
sortno:[{required: true, message: '请输入'}],
orgidseq:[{required: true, message: '请选择', trigger: 'change'}],
feild2:[{required: true, message: '请选择', trigger: 'change'}],
},
3 问题
不明白为什么,整了半天,各种尝试,最后终于好了
1)原先的赋值代码
点击编辑的时候去赋值回显表单
feild2 和 orgidseq 如果为空字符串或者空数组的话就会有问题
edit(row){
this.tableForm = {} // 设为空
this.dialogAddVisible = true
this.dialogTitle = '编辑'
this.tableForm.id = row.id
this.tableForm.positionname = row.positionname
this.tableForm.sortno = row.sortno
this.tableForm.parentId = row.parentId
this.tableForm.remark = row.remarkthis.tableForm.feild2 = row.feild2
this.tableForm.orgidseq = row.orgidseq
console.log('编辑this.tableForm',this.tableForm)
},
2)修改后
feild2 和 orgidseq存在值才赋值
edit(row){
this.tableForm = {}
this.dialogAddVisible = true
this.dialogTitle = '编辑'
this.tableForm.id = row.id
this.tableForm.positionname = row.positionname
this.tableForm.sortno = row.sortno
this.tableForm.parentId = row.parentId
this.tableForm.remark = row.remark
if(row.feild2){
this.tableForm.feild2 = row.feild2
}
if(row.orgidseq){
this.tableForm.orgidseq = row.orgidseq
}
console.log('编辑this.tableForm',this.tableForm)
},