踩了个坑,记录一下
在遍历数组的时候,使用到了array.map
在循环里面需要进行判断,只要有一项满足条件就返回true,否则返回true
敲完代码之后,发现效果不对,debug一下才发现,return没有真正退出循环。
map里没法使用break,return来退出循环
所以建议还是使用 for循环来代替
// 使用map循环
canDelete(data) {
if (data.length > 0) {
data.map(item=>{
if (data[i].hasChildren || data[i].mf_voucher) {
return false
} else {
return true
}
})
} else {
return false
}
},
// 使用for 循环
canDelete(data) {
if (data.length > 0) {
for (let i = 0; i < data.length; i++) {
// console.log(data[i])
if (data[i].hasChildren || data[i].mf_voucher) {
return false
} else {
return true
}
}
} else {
return false
}
},