在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 關于antd getFieldsValue() 值為undefined的問題

關于antd getFieldsValue() 值為undefined的問題

1.在render()中打印
console.log("所有輸入控件的值Items:",form.getFieldsValue());
結果為:

圖片描述

2.在componentDidMount()中打印
console.log("componentDidMount中的值",form.getFieldsValue());
結果為:

圖片描述

從render出來到componentDidMount中間到底還經(jīng)歷了什么,是form中的值變成undefined了,不是說form中的值不手動刪除或者setFieldsValue 它的值是永遠不會變得嗎?

回答
編輯回答
瘋浪

補上demo:
圖片描述

例如:增加三條input,刪除第一個input,在刪除方法里打印結果如下:
圖片描述

點擊保存 打印結果如下:

圖片描述

為什么變成undefined了

2018年5月29日 01:08
編輯回答
終相守

componentDidMount只是一個組件裝載完畢的生命周期函數(shù)。并不代表你的數(shù)據(jù)都渲染完畢。

而render會多次觸發(fā),只要你的state或者props變化,就會引起虛擬dom的對比,然后做出相應變化。

2017年2月27日 03:00
編輯回答
無標題

這個問題是由于FormItemkey引起的。必須指定FormItemkey,并且不能使用index,原因是:
比如你刪除了第一個input,刪除后原來key=1FormItemkey就為0了。這時就會出現(xiàn)異常了,比如將刪除的數(shù)據(jù)回顯到第一條了,validate的時候出現(xiàn)undefined。
我們的做法是:每加一個input,生成一個id,保證唯一,用這個id作為key,刪除的時候找到對應的id刪除,這樣就不會存在key混亂的問題,你的問題也就解決了。

2018年9月10日 06:03