当控件未注册时,我们如何存储和重新填充表单值

问题描述 投票:0回答:1

我有一个反应式表单,带有一个切换开关,可以在主表单中安装和卸载(取消注册)一个实体子表单。

当用户选中该复选框时,我们会显示一个用户需要填写的新表单(内容很丰富)。

填写子表单后,如果用户取消选中该复选框,我们将取消注册子表单并将其从 DOM 中删除。但是,这会导致用户之前在子表单中填写的所有信息丢失,从而需要用户再次重新填写所有信息。

我们尝试使用 unregister('field', {keepValue: true}),它保留并重新填充数据,但我们不希望在取消注册控件后提交表单时保留这些值。

在下面的示例中,即使在卸载 userDetails 后我们也希望填充回 userDetails,但不希望在不接受 T&C 的情况下提交表单时看到 userDetails。

请告知是否有其他方法可以实现此目的。预先感谢。

Edit spring-glitter

reactjs react-hook-form
1个回答
0
投票

您可以

keepValue = true
并使用
data
对象的有条件修改版本,并在
onSubmit()
中删除这些值。

© www.soinside.com 2019 - 2024. All rights reserved.