私はReactをもう少し詳しく知っていますが、私は入力の問題に遭遇しました。入力値のプリセットとユーザーの変更を許可する
ユーザー入力に基づいて入力を生成しているので、1を選択すると2入力ボックス、2入力ボックスが返されます。 さらに、入力ボックスに計算された数値をあらかじめ入力したいと思います。のは、彼らがminとmaxの範囲
だとしましょうだから私はこのようなものを持っている:
minArr = [];
maxArr = [];
for (let i = 0; i < this.state.userSelectInputAmount; i++) {
minArr.push(this.calculateMin(item);
maxArr.push(this.calculateMax(item);
}
return Array(this.state.userSelectInputAmount).fill().map((_, i) => {
return (
<div className="form-group">
<label>
<input className="form-control"
placeholder="Minimum Range"
type="number"
value={minArr[i]}
step="any" />
<input className="form-control"
placeholder="Maximum Range"
type="number"
step="any"
value={maxArr[i]} />
</label>
</div>
min
とmax
は、ユーザの入力にそれぞれ分割、それらが1
を選ぶと言う その後、範囲は1 to 10
から得ることができます。 2を選択すると、1 to 5
と6 to 10
となります。
value
を使用すると、私はオプションを再レンダリングできますが、ユーザーは自分の入力をカスタマイズすることができません(1-10
ではなく1 to 7
)。ドキュメントを読むと、将来(つまりユーザー入力)再レンダリングする機能が必要なので、defaultValueは良い選択肢ではありません。何か案は?
アドバイスをいただき、ありがとうございます。それは、私に「価値」を残す道を導いてくれます。だから私はこれを同様に設定しましたが、 'minArr'と' maxArr'をすべて状態として保存しておき、それらの値を繰り返し処理できます。どのように私はそれを設定している何かが間違っている。私は 'value = {this.state.minArr [i]'をまだ持っていますが、 'this.state.value'を本当に使いたいですが、値が' minArr/maxArr'にプリロードされているので動作しません。 – kermitvomit
Canこのコードを含むように質問を更新しますか?あなたの記述に基づいて私はかなりフォローできません。 –
うわー!だから私はこれをもっとうまくやったと思ったが、これの主な鍵は 'refs 'を使って現在の入力を解析していたことだ。 – kermitvomit