关于@我就这b样提交的全选BUG,我给各位踩坑了
@我就这b样
关于那个@我就这b样 提问“ 给你提一个BUG,假若我要是上来不直接点击全选,而是一个单选一个单选慢慢的选择。你会发现我单选按钮全部选择完了以后,全选按钮并没有对应的选择上。”的解决方案是有问题的:
按照你的代码,单单点击第二个商品的选中按钮时,无论有没有选中第一个,全选的flag会变成true,因为第二个数组后执行,覆盖了第一个:
所以此处不能用forEach()循环,需要使用For循环(for in, for of)都可以,具体为什么在下面
for (var item of this.productList) {
if(!item.productChecked) {
this.selectAllFlag = false;
break;
} else {
this.selectAllFlag = true
}
}
为何不能用forEach(),因为forEach()不能break出来,有同学可能会使用return,return这里是个大坑,return会返回到上层函数,这里的上层函数还是forEach,所以还是会吧数组遍历完。
谢谢你提交的bug

 
                             
                             
                            