0
Enterキーを押しますに提出しますが、何らかの理由でそれが唯一の代わりに、最初のリアクトブートストラップ形だけで二、私は私が押されて入力したときに行動したい簡単なフォームを作ってるんだ
の、 二入力プレス上で動作しますは、コンポーネントのため)(レンダリング:
render() {
return (
<form onSubmit={this.handleSubmit}>
<FormGroup controlId="formBasicText">
<ControlLabel>MyLabel</ControlLabel>
<FormControl
type="text"
value={this.state.value}
placeholder="Enter something"
onChange={this.handleChange}
/>
<FormControl.Feedback />
</FormGroup>
</form>
);
}
handleSubmit():
handleSubmit(e) {
e.preventDefault();
myMethod({this.state.value});
}
は、なぜこれが唯一の第二入力するプレスに取り組んでいますか?
編集:明らかに、これはオブジェクトコードのサブセットに過ぎません。ちょうどこれを実行しようとすると、もちろん失敗するでしょう。私は間違っていることは、オブジェクトのレンダリングまたはhandleSubmitメソッドのいずれかにある可能性が高いと思います。
は、念のために、ここにコンストラクタです:それはthis.setStateを使用しているときのように、すぐに変更を実装するのではなく、状態の更新をキューに入れているため
constructor(props) {
super(props);
this.state = {
value: "",
};
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
ルックは 'MyMethodは({} this.state.value)の後にエラーで落ちます;'。コンソール出力をデバッグまたはチェックしようとしましたか? – degr
これは私のコードをカットダウンしたものですが、エラーの原因と思われる部分のみを示しました。コンストラクタはここにはなく、いくつかの仲裁方法もありません。私の方法は私がここで提示したもので定義されていませんので、もちろんこのコードを実行しようとすると失敗します。すべてうまく動作します。コンソールはログに記録されていますが、エラーはありません。そのことは、* second * enter pressでのみ機能します。 – mstorkson
コンポーネントの外にあるものは、keypressを入力したときに 'event.preventDefault()'を呼び出すことができますか?私はあなたがアプリケーションであなたのコンポーネントだけを持っている場合、それは起こるのだろうか? – degr