背景需求:
选中多选框的部门后,还要去查询到该部门是否有负责人,有负责人就能够保存;无负责人,就提示“该部门暂未设置负责人”。
解决思路:
代码语言:javascript复制 <template v-if="orderConfig.reportAuditType == 3">
<el-select
v-model="orderConfig.reportDesignatedDept"
clearable
:placeholder="$t('commons.selectPlease')"
:key="'reportDesignatedDept'"
@change="showTip"
>
<el-option
v-for="item in deptList"
:key="item.deptId"
:label="item.deptName"
:value="item.deptId"
:disabled="item.disabled"
>
</el-option>
</el-select>
</template>
代码语言:javascript复制//@change="showTip",是组件自带的方法,不需要带参数;showTip(参数),是获取系统传回的数据,所以需要带参数
//指定部门主管-选择选中框
showTip(data){
let deptHeadId;
for(let i = 0 ,length = this.deptList.length;i<length;i ){
if(this.deptList[i].deptId == data){
deptHeadId = this.deptList[i].deptHeadId
//假如里面为空,那么就禁用
if(this.deptHeadId===null){
this.disabled=true,
this.$message({
message:
this.$t("config.deviceTip"),
type: "info",
});
}
}
}
},
错误思路
刚开始我把它写在了接口请求的后面,并且foreach后不知道怎么保存那个变量。 当我们要什么的时候,可以先将它打印出来,再把它放进条件里面。 这也是写代码检查或者找bug的思路。 总结以上毫无难度