是否可以在用户编辑 React Bootstrap <Form.Control>
后更新它的值?
我在 React 中创建了一个带有四个受控字段的小型 Bootstrap 表单。详情如下。提交工作,但我想要一种以编程方式更新各个字段的值的方法,既可以重置表单,也可以填写一组常见的默认值。
- 我的代码(其中各种按钮调用
setFormContents
)一直有效,直到字段被更新。在此之后,更新传递defaultValue
给<Form.Control>
. 这是有道理的,但我不确定首选的方法是什么。 - 变量
formContents
和setFormContents
与 的父元素分类<MyForm>
。
细节
表单的状态和相关的更新功能通过以下方式提供props
define MyForm(props)
return <Form
onSubmit={(e) => {
e.preventDefault();
onSubmit(props.formContents);
}}
>
<Form.Group className="mb-3" controlId="field1">
<Form.Label>Field 1</Form.Label>
<Form.Control
defaultValue={props.formContents.val1}
onChange={({ target: { value } }) =>
props.setFormContents({ ...props.formContents, val1: value })
}
/>
</Form.Group>
///... Other <Form.Group>s
</Form>