Hier ist mein Formular und die onClick-Methode. Ich möchte diese Methode ausführen, wenn die Eingabetaste der Tastatur gedrückt wird. Wie ?
NB: Keine Anfrage wird geschätzt.
comment: function (e) {
e.preventDefault();
this.props.comment({comment: this.refs.text.getDOMNode().value, userPostId:this.refs.userPostId.getDOMNode().value})
},
<form className="commentForm">
<textarea rows="2" cols="110" placeholder="****Comment Here****" ref="text" /><br />
<input type="text" placeholder="userPostId" ref="userPostId" /> <br />
<button type="button" className="btn btn-success" onClick={this.comment}>Comment</button>
</form>
reactjs
reactjs-flux
Istiak Morsalin
quelle
quelle
onCommentSubmit
sollten Sie auch anrufenevent.preventDefault()
undevent.stopPropagation()
verhindern, dass das Formular die Seite neuaction
action='#'
Attribut für dasform
Element.Verwenden Sie dazu das
keydown
Ereignis:quelle
Es ist einige Jahre her, seit diese Frage das letzte Mal beantwortet wurde. React führte bereits 2017 "Hooks" ein und "keyCode" wurde veraltet.
Jetzt können wir folgendes schreiben:
Dies registriert einen Listener für das
keydown
Ereignis, wenn die Komponente zum ersten Mal geladen wird. Der Ereignis-Listener wird entfernt, wenn die Komponente zerstört wird.quelle
keyCode
ist veraltet, keinkeydown
Ereignis.So machen Sie es, wenn Sie auf die Eingabetaste warten möchten. Es gibt eine onKeydown-Requisite, die Sie verwenden können und die Sie im Reaktionsdokument lesen können
und hier ist eine codeSandbox
quelle