我正在搜索有关react-hook-form / useFieldArray问题的帮助。
我有一个这样的数组:
[
{name: "one", data: "long string"},
{name: "two", data: "another long string"},
]
这个数组在一个表单中,并在useFieldArray
的帮助下呈现。
现在我想在第一个元素上设置一个新的data
。react-hook-form的文档给出了“update”函数:
因为我不想触发重新挂载,所以我使用setValue API如下:
form.setValue("array.0.data", newValue);
当我这样做时,我通过使用函数form.watch
和form.getValues
获得新值,但是当我使用array.fields[0].data
查询字段值时,我仍然获得旧值。
我将感谢任何帮助,如何更新一个数组中的单个值,并获得新的值,以及在该领域的形式,而没有得到一个重新挂载。
最好的问候,托拜厄斯
1条答案
按热度按时间6jygbczu1#
首先是例子,然后是解释。
执行更改的方法:
其中im使用该方法:
反映变化的地方
解释:首先是接收3个参数的方法。第一个是你想要修改的“值”,第二个是数组在Map时给你的数组索引,最后是整个field对象返回数组的Map,因为这需要用来更新对象的所有信息(这部分参考官方文档)。
required information in the docs