我對React有點熟悉,但是我已經進入了輸入問題。預設輸入值並允許用戶更改
我正在生成基於用戶輸入的輸入,所以如果他們選擇1,我會返回2個輸入框,然後我會返回4個輸入框。 另外我想用輸入的數字預先填充輸入框。比方說,他們是最大和最小範圍
所以我有這樣的事情:
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 to 7
而不是1-10
)。讀取文檔時,defaultValue不應該是一個好選擇,因爲我希望將來能夠重新渲染(即用戶輸入)。有任何想法嗎?
感謝您的建議,它引導我保持'價值'的道路。所以我有類似的設置,除了現在我把所有'minArr'和'maxArr'存儲爲一個狀態,並且我可以遍歷這些值。我如何設置它有什麼問題。我仍然有'價值= {this.state.minArr [我]'我真的想使用'this.state.value',但它不會工作,因爲我得到我的價值預加載到'minArr/maxArr' – kermitvomit
罐你更新你的問題以包含這段代碼?根據你的描述,我不能完全遵循。 –
嗚!所以我認爲我更好地遵循了這一點,但主要關鍵在於使用'refs'來解析當前輸入:) – kermitvomit