2017-04-20 84 views
0

我正在使用素材ui的复选框,并且希望在选中其他复选框时更改复选框的状态。反应:在其他复选框中更改复选框的状态

<Checkbox label="Etape 1 terminée" value={this.state.valueCheckStepOne} onCheck={this.onCheckStepOne} /> 



<Checkbox label="Etape 2 terminée" value={this.state.valueCheckStepTwo} onCheck={this.onCheckStepTwo} /> 

onCheckStepOne = (value) => { 
    this.setState({ 
     valueCheckStepOne: value.target.checked 

    });  
onCheckStepTwo = (value) => { 
     this.setState({ 
      valueCheckStepTwo: value.target.checked 
     }); 

// Here I want to change the state of valueCheckStepOne 
     componentDidUpdate() {   
     if (this.state.valueCheckStepTwo == true) { 
      this.setState({ 
       valueCheckStepOne : true 
      }) 
     }  
    } 

如果我这样做,我的应用程序错误! 你有想法吗?谢谢

回答

0

可以onCheckStepTwo写功能

onCheckStepTwo = (event) => { 
    const value = event.target.checked 
    const stateUpdates = { 
     valueCheckStepTwo: value 
    } 
    if (value) { 
     stateUpdates.valueCheckStepOne = true 
    } 
    this.setState(stateUpdates); 
} 

如果值valueCheckStepTwo被设置为真,这将改变valueCheckStepOne的状态。您可以根据您的要求修改逻辑。

+0

谢谢你的回答,但我不明白。我试图做到这一点,但它不起作用,我不能像这样声明stateUpdates,我必须声明它像一个状态.. –