1. 程式人生 > 其它 >用事件迴圈機制調整功能順序

用事件迴圈機制調整功能順序

封裝檔案上傳元件的時候,順序為先呼叫父元件方法,然後在進行賦值操作,對於一般的操作來說沒有什麼問題,但是對於必填項驗證會出現驗證不成功的情況。element-UI的表單元件有規則驗證,你左某一個操作之後就會驗證,但是上傳圖片這個是不會自己驗證的,此時需要手動的用this.$refs.form.validateField驗證,由於是在父元件裡呼叫的,所以驗證會比賦值先執行,普通情況把子元件裡的賦值語句放在父元件方法呼叫之前就可以解決了,但是由於子元件封裝的順序是反的而且已經在很多地方用過了,如果直接在子元件修改可能會影響到其他地方,最好的方法是在父元件改,這樣只在當前位置有效,使用了時間迴圈機制,setTimeout是巨集任務要等該輪所有語句執行完成再執行裡面的語句,這樣就可以讓子元件裡的執行完也就是賦值完成之後再執行this.$refs.form.validateField驗證,此時就有效果了

使用setTimeout()