在antd4.0中Form使用initialValue操作
悲傷
一開始一直以為initialValue是個好東西,這樣我每次編輯的時候把數(shù)據(jù)傳過來就行,后來發(fā)現(xiàn)不得行!給大家看看
就離譜,后面認真看了一下文檔才知道這個玩意是默認值,第一次有了之后就一直是這個。
然后我在網上看用resetFields()這個方法,每次提交或者取消之后重置一下數(shù)據(jù),然而我試了還是不得行,會變成每次點擊顯示的是上一次的數(shù)據(jù),所以后面還是老老實實看了一下form的其他方法。
貼個圖
解決
放棄initialValue
const [form] = useForm()
form.setFielsValue(currentItem)
用form帶的設置數(shù)據(jù)方法。這樣能夠保證每次都是最新的。
隨手一貼
也沒啥上下文,就將就著看寫法就行?。?/p>
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表單initialValue設置無效的問題之一
在表格數(shù)據(jù)中,編輯數(shù)據(jù)時用到的表單需要使用initialValue 來設置初始值,
以下寫法會導致initialValue設置無效。
當表單組件被<></> ,< div></ div> 等包裹時,initialValue設置無效
// 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>
以上這篇在antd4.0中Form使用initialValue操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
如何使用vue slot創(chuàng)建一個模態(tài)框的實例代碼
這篇文章主要介紹了如何使用vue slot創(chuàng)建一個模態(tài)框,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05使用elementUI實現(xiàn)將圖片上傳到本地的示例
今天小編就為大家分享一篇使用elementUI實現(xiàn)將圖片上傳到本地的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue2如何使用vue-i18n搭建多語言切換環(huán)境
這篇文章主要介紹了vue2-使用vue-i18n搭建多語言切換環(huán)境的相關知識,在data(){}中獲取的變量存在更新this.$i18n.locale的值時無法自動切換的問題,需要刷新頁面才能切換語言,感興趣的朋友一起看看吧2023-12-12vue-router路由參數(shù)刷新消失的問題解決方法
本篇文章主要介紹了vue-router路由參數(shù)刷新消失的問題解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06