1. 程式人生 > >Cannot read property 'resetFields' of undefined

Cannot read property 'resetFields' of undefined

如果你也遇到這個問題,那麼出現的情景應該是:vue專案中使用的element-ui元件庫構建的後臺管理系統之類的介面中,ADD與Edit複用同一個彈框,需要在每次點選ADD開啟彈框的時候清空彈框內的from資料。(點選Edit之後資料會被獲取進去,不清空就點選ADD會出現上次資料)。然後我們使用element的重置方法:然後就會報錯,找不到這個方法。

this.$refs[dialogForm].resetFields();

解決方案:

this.$nextTick(()=>{
   this.$refs[dialogForm].resetFields();
});

原因:個人理解:點選add的時候彈框不存在,也就不存在這個彈框裡面的form方法。所以需要將方法回撥到下次dom更新的時候。具體想要探究原理的可以檢視vue官方API文件。