如何在 react-hook-form fieldArray 中保留隐藏字段?
How to preserve hidden fields in react-hook-form fieldArray?
我正在尝试基于对象数组构建表单列表,这些对象具有应该能够被编辑并呈现为输入的字段,以及不需要呈现的只读字段, 例如 id.
我通过使用 useFieldArray
钩子来做到这一点。但是,react hook 似乎只保存那些注册为输入的字段,这导致我的 id 字段在提交处理程序中丢失。
如何保留我的只读字段?
Here的沙盒示例,这样你就明白我在说什么了。
我将 id 添加到默认值和附加的值。当您点击提交时,id 不再存在。
对您不想向用户显示的字段(如用户 ID)使用 <input type='hidden' />
,然后正常注册。因此,在您的代码中,您应该像这样为 id 添加另一个输入:
<input type="hidden" {...register(`test[${index}].useId`)} />
这就像你设置display: none
时一样,但字段值仍然被提交。
现场演示
我正在尝试基于对象数组构建表单列表,这些对象具有应该能够被编辑并呈现为输入的字段,以及不需要呈现的只读字段, 例如 id.
我通过使用 useFieldArray
钩子来做到这一点。但是,react hook 似乎只保存那些注册为输入的字段,这导致我的 id 字段在提交处理程序中丢失。
如何保留我的只读字段?
Here的沙盒示例,这样你就明白我在说什么了。 我将 id 添加到默认值和附加的值。当您点击提交时,id 不再存在。
对您不想向用户显示的字段(如用户 ID)使用 <input type='hidden' />
,然后正常注册。因此,在您的代码中,您应该像这样为 id 添加另一个输入:
<input type="hidden" {...register(`test[${index}].useId`)} />
这就像你设置display: none
时一样,但字段值仍然被提交。