antd 4.0でFormはinitial Valueを使って操作します。
1892 ワード
悲しみ
最初はずっとinitial Valueがいいものだと思っていましたが、編集するたびにデータを送ってもいいです。その後はいけないことに気づきました。みんなに見せてください
スペクトルを離れて、後で真剣に文書を見て初めてこのゲームの意味がデフォルトであることが分かりました。初めてあってからずっとこれです。
そして私はインターネットでこの方法を見て、提出またはキャンセルのたびにデータをリセットしますが、試してみてもだめです。クリックするたびに表示されるのは前回のデータなので、後は正直にformを見てみました。
図をはる
解決
initial Valueを放棄します
const[form]=useForm()
form.set Fiels Value(currentItem)
formバンドの設定データ方法で。これは毎回最新のものであることを保証できます。
手当たり次第に貼る
文脈もあまりないので、とりあえず書き方を見てください。
テーブルデータでは、データを編集する際に使うフォームはイニシャルValueを使用して初期値を設定する必要があります。
以下の書き方はinitial Valueの設定が無効になります。
フォームコンポーネントが<>、などに包まれている場合、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を使って操作します。つまり、編集者が皆さんに提供した内容は全部分かりました。参考にしてほしいです。どうぞよろしくお願いします。