名称属性以form.Item设置,但符合形式的valuesChange尚未生效。简单的代码如下,您可以看到CodeSanbox示例:
基本形成码如下:
尝试将上述功能组件写入函数返回组件
这实际上是一种相对黑克的方法,每次我都执行此功能并返回全新的组件。可能有一些性能问题。
实际上,官员也提到
具有名称属性的form.Item包装的控件,表单控件将自动添加值(或ValuePropname指定的其他属性)Onchange(或其他由触发器指定的属性)。数据同步将通过表格接管。这将导致以下结果:
1.您不再需要或使用Onchange进行数据收集同步(您可以使用Form的OnValueSchange),但是您可以继续收听Onchange事件。
2.您无法使用属性(例如控制值或默认值控制)设置表单域的值。您可以使用默认值以形式的初始值将其设置。注意,不能通过setState动态更新初始值,您需要使用setFieldSvalue进行更新。
3.您不应使用setState,可以使用form.setfieldsvalue动态更改表单值。
但是在上面的基本形成中,我只收到表格和架构参数,因此我没有生效,因此可以将其修改如下:
就是这样
问题出现了,ANTD如何注入价值和Onchange?
问题的答案是:cloneelement()
将元素元素作为模型克隆和返回新的React元素。CONFIG应包含新的道具,钥匙或参考。返回元素的后背是新道具统一的结果和原始元素的主要道具。
React.Cloneelement()几乎与:
以下是伟大神的简单版本。您可以看到它,详细信息
核心代码的实现如下:
这是向子组件的支柱的onchange,然后在更改更改时,将通知表单组件以进行相应的更新
原始:https://juejin.cn/post/7103472687170715684