我有一个反应式表单,带有一个切换开关,可以在主表单中安装和卸载(取消注册)一个实体子表单。
当用户选中该复选框时,我们会显示一个用户需要填写的新表单(内容很丰富)。
填写子表单后,如果用户取消选中该复选框,我们将取消注册子表单并将其从 DOM 中删除。但是,这会导致用户之前在子表单中填写的所有信息丢失,从而需要用户再次重新填写所有信息。
我们尝试使用 unregister('field', {keepValue: true}),它保留并重新填充数据,但我们不希望在取消注册控件后提交表单时保留这些值。
在下面的示例中,即使在卸载 userDetails 后我们也希望填充回 userDetails,但不希望在不接受 T&C 的情况下提交表单时看到 userDetails。
请告知是否有其他方法可以实现此目的。预先感谢。
您可以
keepValue = true
并使用 data
对象的有条件修改版本,并在 onSubmit()
中删除这些值。