【发布时间】:2021-01-05 15:59:01
【问题描述】:
请帮帮我。
我想动态添加额外的输入文件并将值保存到 textValues 状态。
这是我到目前为止所尝试的:
const [textValues, setTextValues] = useState([]);
const [numberOfTexts, setNumberOfTexts] = useState(5); <--- this value will be change dynamically
{[...Array(numberOfTexts)].map((x, i) => (
<TextField
style={{ marginLeft: "10px", marginTop: "10px" }}
id="standard-basic"
label="Text value"
value={textValues[i]}
onChange={(e: { target: { value: any } }) =>
setTextValues(e.target.value)
}
/>
))}
因此,在这种情况下,我希望出现 5 个输入字段,并且在 textValues 数组中为 5 个空字符串,而不是逐步填写。我希望能够增加和减少 numberOfTexts,并根据文本数量更新所有内容。感谢您的帮助!
【问题讨论】:
-
尝试将
setTextValues(e.target.value)更新为setTextValues(numberOfTexts + 1)
标签: arrays reactjs typescript dynamically-generated use-state