2017-04-20 58 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,我必須聲明它像一個狀態.. –

相關問題