1.在render()中打印
console.log("所有输入控件的值Items:",form.getFieldsValue());
结果为:
2.在componentDidMount()中打印
console.log("componentDidMount中的值",form.getFieldsValue());
结果为:
从render出来到componentDidMount中间到底还经历了什么,是form中的值变成undefined了,不是说form中的值不手动删除或者setFieldsValue 它的值是永远不会变得吗?
这个问题是由于
FormItem
的key
引起的。必须指定FormItem
的key
,并且不能使用index
,原因是:比如你删除了第一个
input
,删除后原来key=1
的FormItem
的key
就为0
了。这时就会出现异常了,比如将删除的数据回显到第一条了,validate
的时候出现undefined
。我们的做法是:每加一个
input
,生成一个id
,保证唯一,用这个id
作为key
,删除的时候找到对应的id
删除,这样就不会存在key
混乱的问题,你的问题也就解决了。