【发布时间】:2018-05-18 11:55:24
【问题描述】:
关于我之前的question,我这样做是为了存储正确的状态:
if (value === 'checkpoint')
{
if (checked1)
{
this.setState({checked1 : false})
localStorage.setObject('checked1', false)
}
else
{
this.setState({checked1 : true})
localStorage.setObject('checked1', true)
}
}
现在我有多个复选框(假设我有四个)。一个用于所有复选框,另外 3 个用于类别。我希望我的应用程序检测三个类别复选框何时被选中,并自动选中 ALL 复选框。当任何类别复选框未选中时,ALL 复选框将自行取消选中。
我试过这段代码:
if (checked1 && checked2 && checked3) {
this.setState({checkedAll: true})
} else {
this.setState({checkedAll: false})
}
但其他 3 个复选框 (checked1, checked2, checked3) 将始终获得以前的状态。
如何获得正确的状态以使我的checkedAll 正常工作?
【问题讨论】:
-
当你说他们总是会得到以前的状态时,你是什么意思?另外,在您的第一个代码示例中:当 checkd1 为 true 时,为什么要将 check1 的状态设置为 false?
-
@ViktorG 这是切换。对于复选框,当您在 onChange() 上单击它时,您必须得到相反的值对吗?
-
你能发布整个
onChange处理程序吗?
标签: javascript html reactjs checkbox