私はボタンをクリックして値を送信しようとしています(状態の変更に使用されます)。私は単純にHTML input
要素を使用すれば正常に動作します。しかし、Material UIRaisedButton
を使用すると、値を渡すことができません。私が間違っていることを指摘してください。ReactJSのMaterial UI: `RaisedButton`の` evt.target.value`が動作しません
ボタンクリックで呼ばれています機能:
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" />
このように、値ont onClickイベントを直接渡すことができます: 'onClick = {()=> this.changeGameStatus( 'Start') } 'RaisedButtonはpropsの' value'を受け付けません。 –