<el-select v-model="overhaulProjectLib.startOverhaulArr" value-key="id"
class="select__width" multiple placeholder="请选择">
<el-option v-for="item in startOverhaulProject"
:key="item.id"
:label="item.overhaulProject" :value="item.id">
</el-option>
</el-select>
问题描述
在 使用el-select 多选的时候绑定的值是一个数组
在其他地方对绑定值进行修改的时候报的错
解决:
出错代码
this.overhaulProjectLib.standardOverhaulArr = this.standardOverhaulProject.map(val=>{ if(val.id==='1'){return val.id}})
更改之后的代码
this.overhaulProjectLib.standardOverhaulArr = this.standardOverhaulProject.filter(val => {return val.classA==='1'}).map(val=>{return val.id})
原因: js 数组的map() 会在不改变原数组的情况下返回原数组长度的新数组,不满足条件的项会返回undifind,这就是报错原因
所以在map之前对原数组进行一次filter()
有不足之处望请大佬指出