关于antd的Form表单使用。多个Form删除一个Form的时候,其他的Form重新渲染导致数据丢失?

新手上路,请多包涵

当删除右侧查询条件的某一行时,其他行的组件值会重新渲染,导致之前填的值被清空。
image.png
image.png
我代码是这样写的:每一行是一个子组件image.png,子组件是根据columnItems数组渲染的,删除的时候就是删除数组里的一个columnimage.png
每个子组件返回的是一个Form表单image.png

阅读 3.7k
2 个回答

这里的columnItems最好别变,需删除的给它标记一下,然后给display:none,发送参数的时候会自动把这些隐藏的过滤掉。
并且,最好每个组件都按照顺序有一个key={index},这样组件的兄弟们删来增去的,自身的key不变,就不会重新渲染。
希望能帮助到你。

删除之前用form.getfieldsValue方法获取form的值,记录一下formData;
删除之后,将formData中对应的删掉,调用form.setFieldsValue设置一下就行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题