【发布时间】:2016-11-25 19:07:18
【问题描述】:
我有一个名为 Animal 的复选框。当复选框被选中时, this.state.Animal 设置为 true 并显示动物过滤器 div。
<input type="checkbox" checked={this.state.Animal} onChange={this.checkAnimal} /> Animals
{this.state.Animal ?
<div className="animal-filter">
<div className="checkbox">
<p><input type="checkbox" checked={this.state.dog} onChange={this.checkdog} /> AA </p>
</div>
<div className="checkbox">
<p><input type="checkbox" checked={this.state.cat} onChange={this.checkcat} /> A</p>
</div>
<div className="checkbox">
<p><input type="checkbox" checked={this.state.fish} onChange={this.checkfish} /> B</p>
</div>
</div> : null}
我的问题是,一旦动物状态设置为真,我希望猫、狗和鱼的这些复选框立即设置为真。我知道 react setState 不会自动更新状态,所以我将如何做到这一点,当动物复选框被“选中”时,其他复选框被设置为 true,反之亦然?
我的状态更新代码:
checkAnimal(){
this.setState({animal: !this.state.animal});
if (this.state.animal !=true){
this.setState({
cat:false,
dog:false,
fish:false,
});
}else{
this.setState({
cat:true,
dog:true,
fish:true,
});
}
}
【问题讨论】: