这是一个奇怪的情况。我已经简化了一个 react-final-form-array 的示例,它允许我向我的表单添加元素,并且我可以扩展一个对象数组。它与 react-final-form-arrays 提供的简单示例非常相似。该数组工作得很好,但我遇到的问题是当我尝试删除特定元素时,输入中显示的实际值不会改变。例如,对于图像:
在这里我们可以看到我可以将客户添加到一个列表中,这会产生一个对象数组。这很好用。现在,假设我想摆脱第一个元素。我点击 X,会发生什么?
在这里我们可以看到表单数据正确地删除了我想要删除的第一个元素,但是,输入上显示的实际值仍然是 John Doe,尽管表单知道它是 Mary Jane。当我单击输入时,它们似乎更新为正确的值。但这不是应该发生的事情。
最奇怪的是,我做了一个代码框,你可以在这里看到https://codesandbox.io/s/agitated-wilson-5xlqq
它具有与我的应用程序完全相同的代码,并且可以按预期工作!所以我什至无法重新创建错误,我确保依赖项与我正在使用的版本相同。我只能在我自己的设置中重新创建它,我不明白为什么会这样。
我尝试了 chrome、safari 和 firefox,它们似乎都在我的电脑上做同样的事情,我什至通过连接到我的笔记本电脑上运行的 react 服务器在我的手机上进行了尝试,它们都表现出相同的行为。
我不知道我可能是什么,版本,反应,如果有人有任何想法或过去有类似的问题,请帮助。我不会在此处粘贴我的代码,以免使这篇文章变得臃肿,但您可以看到它与我上面链接的沙箱中的代码完全相同。
编辑:我想指出另一个发生的错误,那就是一旦我删除第一个元素,如果我尝试编辑它,它会将另一个字段与我刚刚添加的输入一起推送到数组中,就好像它被绑定或其他东西一样。我希望我可以在代码沙盒上重新创建它