baseData.value.orgName = ruleDetailList.value.forEach((it:any) =>{ console.log(it,options.val) if(it.udf3 === options.val) { console.log(it.udf11) return it.udf11 } })
时间: 2024-03-24 14:40:46 浏览: 63
这段代码的问题在于,`Array.forEach()` 方法返回值永远为 `undefined`,因此你无法将其赋值给 `baseData.value.orgName` 属性。因此,代码中的赋值语句实际上是将 `baseData.value.orgName` 赋值为 `undefined`。
如果你想在遍历 `ruleDetailList.value` 数组时查找 `udf3` 属性等于 `options.val` 的元素,并将其 `udf11` 属性的值赋给 `baseData.value.orgName` 属性,可以考虑使用 `Array.find()` 方法来实现:
```
const found = ruleDetailList.value.find(it => it.udf3 === options.val);
if (found) {
baseData.value.orgName = found.udf11;
} else {
baseData.value.orgName = '';
}
```
这段代码首先使用 `Array.find()` 方法查找 `ruleDetailList.value` 数组中第一个满足条件的元素,并将其赋值给 `found` 变量。如果找到了满足条件的元素,就将其 `udf11` 属性的值赋给 `baseData.value.orgName` 属性,否则将 `baseData.value.orgName` 赋值为空字符串。
阅读全文