我試圖通過按鈕單擊(用於更改狀態)提交一個值。它工作正常,如果我只是使用HTML input
元素。但是,如果我使用Material UIRaisedButton
,我根本無法傳遞值。請幫我指出我做錯了什麼。ReactJS上的材質UI:`evt.target.value`不適用於`RaisedButton`
這就是所謂的按一下按鈕的功能:
changeGameStatus = (evt) => {
let status = ""
switch (evt.target.value) {
case "Start":
status = "in-progress"
break
default:
status = "ready"
break
}
this.setState({
game: {
status: status
}
})
/*when using <RaisedButton>, this.state.game.status returns "undefined"*/
console.log('new status:' + this.state.game.status)
} /* END changeGameStatus */
按鈕裏面render()
:
/*this one does not send a value at all*/
<RaisedButton onClick={this.changeGameStatus} value="Start" label="Start" primary={true} />
/* this one works, but the look is not supported by material-ui*/
<input type="button" onClick={this.changeGameStatus} value="Start" />
你可以直接傳遞值onClick事件像這樣:onClick = {()=> this.changeGameStatus('Start') }'可能RaisedButton不接受道具的'價值'。 –