我使用react生成表单中的一些项。我可以通过onchange()
函数获取值,但当我这样做并将默认值传递给后端时,不会分配默认值。我如何确保这个defaultValue
也与表格一起发送。
我在提交表单和获取html元素时尝试过,但这不起作用,也不是推荐的方式。
这是我的代码:
data.getChecklist.checklist_items.map((item, index) => {
return <div>
<p>ITEM: {item.info}</p>
<TextField
name={`${index}`}
required
defaultValue ={item.default_text}
onChange={(e) => handleChange(e)}
label="text"
fullWidth
/>
{item.checklist_sub_items.map((subitem, subindex) => {
return<div>
<p>SUBITEM: {subitem.info}</p>
<TextField
name={`${subindex}`}
required
defaultValue ={subitem.default_text}
onChange={(e) => handleChangeSubItem(e)}
label="text"
fullWidth
/>
</div>
})}
</div>
})
编辑:我希望它不要使用onchange()
函数,因为用户并不总是需要与字段交互。
您可以在onchange中将默认值作为参数传递。
onChange={(e(=>handleChangeSubItem(e,defaultValue(}
稍后在提交过程中,您可以创建一个当前值或defaultValue的对象,或者将defaultValue存储在另一个变量中。