問題出現場景
實際工作項目中需要實現table表格的增改功能,添加與編輯頁面使用了form表單填寫信息。當添加/編輯頁面填寫完一次信息並提交後,再次點擊添加/編輯按鈕,form表單各項值仍爲上一次數據的緩存,無法動態更新
解決方法彙總
- 使用 resetFields() 解決,
this.form.resetFields()
若form表單中使用 initialValue 給表單各項賦初始值,使用此方法最合適 - 使用 setFieldsValue解決,
this.form.setFieldsValue()
setFieldsValue()方法可以給表單賦初始值,並且初始值可以動態更新。這種方式要求 form 表單每一項必須使用 v-decorator 註冊過,並且setFieldsValue({ })實際傳入的變量名稱要與表單項經v-decorator註冊過的名稱一一對應;
實際傳入的變量數可以等於或少於form表單項個數,但不允許多於form表單項個數。否則會一直報錯:warning.js?4eb8:34 Warning: You cannot set a form field before rendering a field associated with the