reactjs - onChange 地图 useState React Hooks 中的输入值
问题描述
我对 useState 输入值有疑问。
我得到了什么:
const [document, setDocument] = useState([
{
documentName: '',
documentDate: '',
documentInfo: '',
documentContent: ''
},
{
documentName: '',
documentDate: '',
documentInfo: '',
documentContent: ''
}
])
return ({
document.map((item, index) => {
return (
<>
<Grid item xs={3}>
<label>Typ dokumentu:</label>
<SelectInput
fullwidth
onChange={(e) =>
setDocument({
...document,
[e.target.name]: document.map((value, j) => {
if (index === j) value = e.target.value;
return value;
}),
})
}
value={document.documentName}
name="documentName"
register={register}
/>
</Grid>
<Grid item xs={1}>
<label>Sekcja:</label>
<SelectInput
fullwidth
onChange={(e) =>
setDocument({
...document,
[e.target.name]: document.map((value, j) => {
if (index === j) value = e.target.value;
return value;
}),
})
}
value={document.documentDate}
name="documentDate"
register={register}
/>
</Grid>
<Grid item xs={1}>
<label>Strefa:</label>
<SelectInput
fullwidth
onChange={(e) =>
setDocument({
...document,
[e.target.name]: document.map((value, j) => {
if (index === j) value = e.target.value;
return value;
}),
})
}
value={document.documentInfo}
name="documentInfo"
/>
</Grid>
<Grid item xs={1}>
<label>SRS:</label>
<SelectInput
fullwidth
onChange={(e) =>
setDocument({
...document,
[e.target.name]: document.map((value, j) => {
if (index === j) value = e.target.value;
return value;
}),
})
}
value={document.documentContent}
name="documentContent"
/>
</Grid>
</>
);
});
}
)
我想要的是 ?当我在第二个文档中更改例如 documentName 时,我得到了:
[
{
documentName:'',
documentDate:'',
documentInfo:'',
documentContent:''
},
{
documentName:'DOCUMENTEXAMPLENAME',
documentDate:'',
documentInfo:'',
documentContent:''
}
]
我无法构造 onChange 函数,我按照上面描述的方式设置这些数据。
我尝试使用 handleChange 方法,其中:
const handleChange = (e,index) => {
const items = [...document]
items[index][e.target.name] = e.target.value
setDocument(items)
}
但随后这改变了适当的价值,但在每个人的对象。
请帮我 !!
解决方案
在这里写了我的代码
现在我看到你改变了你的问题,提供了与我写的相同的功能,但在沙箱中它运行良好。也许您的原始代码中还有其他内容?
推荐阅读
- php - 在 PHP 中比较 2 个数组并将公共值获取到不同的数组
- c# - 从列表 C# 动态填充 IF 语句
- python - 如何通过html按钮触发python文件 - Flask
- google-cloud-platform - 无法从 oracle weblogic 连接 gcp 服务
- python - 尝试加密和解密文本文件(Python)
- django - Django:订单集查询
- python - 将 python matplotlib 子图添加到退出图不起作用
- javascript - 如何从评估函数返回变量?
- apache-spark - 窗口函数上的 pyspark case 语句
- spring-boot - 我需要一个 JwtDecoder bean,我可以自动配置它吗?