label和Checkbox.Group的探索轶事

回顾之前帮别人解决bug的场景,多多少少有些入戏了。 点击label包裹的区域,复选框都被选中了。 将Checkbox.Group 替换成普通div 点击测试只会选中第一个 移除Checkbox.Group上面绑定的class ,效果不变,可以判定和css样式无关 Checkbox.Group和普通div上面绑定的事件是一样的 image.png 将docuemnt上的事件移除,就没有上述效果了 一定和Checkbox.Group 的实现有关系! 通过阅读源码,发现Checkbox.Group 会统一渲染被其管理的Checkbox 选中时checkboxGroup.value的值为[undefined],props.value的值都为undefined 没选中时,checkboxGroup.value的值为[] 这么一看主要问题时没有给指定value属性! 去掉label 点击任意一个Checkbox也会三个同时变化 这期间还打了DOM 断点 也是怀疑在某个地方有个for循环,统一对值做了处理!然并卵。 似乎发现了新东西。

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):