forEach不能用return中断循环,还是会走循环外的逻辑
问题:
在forEach里面循环判断不符合某条件,然后提示错误并返回,发现还是会走外面的逻辑。
解决:
// 判断某属性是否来自某表格let list = objectContent.Lists;if (list.length > 0) {flag.value = false;list.forEach((item) => {if (item.DType === 5) {// 不能在forEach里面提示然后返回。因为forEach循环不能中断,即使在这里提示并返回,也会走下面的逻辑。应该列表不包含表名时,设置为提交失败flag.value = true;在外边提示并返回。// if (tableList.value.indexOf(item.TableName) === -1) {// ElMessage.error('该清单无法提交!');// return;// }if (tableList.value.indexOf(item.TableName) === -1) {flag.value = true;return;}}});if (flag.value) {ElMessage.error("该清单无法提交!");return;}}