antd 4.0でFormはinitial Valueを使って操作します。


悲しみ
最初はずっとinitial Valueがいいものだと思っていましたが、編集するたびにデータを送ってもいいです。その後はいけないことに気づきました。みんなに見せてください

スペクトルを離れて、後で真剣に文書を見て初めてこのゲームの意味がデフォルトであることが分かりました。初めてあってからずっとこれです。
そして私はインターネットでこの方法を見て、提出またはキャンセルのたびにデータをリセットしますが、試してみてもだめです。クリックするたびに表示されるのは前回のデータなので、後は正直にformを見てみました。
図をはる

解決
initial Valueを放棄します
const[form]=useForm()
form.set Fiels Value(currentItem)
formバンドの設定データ方法で。これは毎回最新のものであることを保証できます。
手当たり次第に貼る
文脈もあまりないので、とりあえず書き方を見てください。

 const { visible, onEdit, onCancel, type, currentItem, ...modalProps } = props;
 const [form] = useForm()
 useEffect(() => {
 form.setFieldsValue({ ...currentItem });
 }, [visible])

 const onOk = () => {
 form.validateFields().then((values: any) => {
 onEdit(values)
 })
 }
補足知識:antd Formフォームinitial Value設定が無効な問題の一つ
テーブルデータでは、データを編集する際に使うフォームはイニシャルValueを使用して初期値を設定する必要があります。
以下の書き方はinitial Valueの設定が無効になります。
フォームコンポーネントが<>
などに包まれている場合、initial Valueの設定は無効です。

// initialValue        
<Form.Item label="xxx">
 {getFieldDecorator('xxx',{
 initialValue:'default'
})(
 <>
 <Input />
 <span>....</span>
 </>
) 
 }
</Form.Item>

//      
<Form.Item label="xxx">
 {getFieldDecorator('xxx',{
 initialValue:'default'
})(
 <Input />
) 
 }
 // <span></span>
</Form.Item>

以上のこのantd 4.0のFormはinitial Valueを使って操作します。つまり、編集者が皆さんに提供した内容は全部分かりました。参考にしてほしいです。どうぞよろしくお願いします。