今天在作入院管理的時候,須要實現表單內容以及驗證信息的重置,具體效果以下:html
當我再點擊添加添加住院患者按鈕打開表單時,應該是這個樣子的:函數
根據Element-UI官方文檔提供的方法,咱們能夠使用這個函數:this
resetForm(formName) { this.$refs[formName].resetFields(); }
實際使用的時候代碼:spa
this.visible = true; this.resetForm('form');
先顯示對話框,再重置表單,若是這兩行代碼順序顛倒,點擊添加住院患者就是沒有反應的,以下圖所示:code
至此,重置表單內容這個功能作的差很少了,但我發現了一個問題,當我點擊添加住院患者按鈕,彈出表單dialog以後,個人下拉框是沒有數據的。orm
當我關閉這個dialog,再從新打開的時候,這裏的數據就有了。我感受是跟個人表單驗證有關,但問題具體是怎麼產生的我不清楚,這個表單驗證只是把裏面的內容重置爲初始值,個人數據在頁面刷新以後應該是能夠正常拿到的。htm
不清楚問題是怎麼發生的,那就只好看看控制檯了。我對比了刷新頁面後第一次打開表單dialog和第二次打開表單dialog發生的錯誤,果真,第一次打開表單時出現了一個特殊的錯誤,而第二次打開表單時該錯誤就消失了。blog
百度了一下這個錯誤,找到了http://www.javashuo.com/article/p-tfsdxbgz-dp.html這篇文章,這個博主老哥跟個人狀況基本如出一轍,解決方法他也提到了。文檔
按照人家的方法,將代碼修改以下:get
resetForm(formName){ if (this.$refs[formName]!==undefined) { this.$refs[formName].resetFields(); } }
問題完美解決!刷新頁面後第一次打開表單也能獲取到數據了。