elementui中table和dialog中數據回顯和校驗清空的問題


 父組件table,子組件dialog,為了保證dialog中數據變化,不影響父組件的顯示,(為什么會有影響,主要賦值的時候,直接使用“=”的話,對象的引用地址是一樣的,所以當dialog變化時,盡快沒有保存,但還是會影響table中數據的顯示)需要在父組件中,給子組件的傳的值進行轉換

this.data= JSON.parse(JSON.stringify(row));

子組件中也需要使用watch進行監聽,重新賦值

watch: {
        data(val, oldVal){
            this.form = val
        },
    }

關於檢驗清空的問題出現的原因是:我們在每次新增數據的時候,盡管數據可能都是必填的,但是我們一打開彈窗的時候,還是希望沒有檢驗的,當我們change的時候,再進行數據的檢驗。而由於我們大部分的時候,編輯的彈窗和新增的彈窗都是同一個,這導致我們在操作完編輯彈窗,在點擊新增彈窗的時候,發現數據都進行了檢驗,其實這個時候是不需要的。

對於這個問題,我的處理方法是,每次關閉彈窗的時候,清空彈窗中的數據,沒有打開彈窗的時候,清空校驗規則

// 父組件   操作彈窗的時候,清空檢驗規則
this.$refs.child.clearValidate();
//子組件   每次關閉的時候,數據清空
//清空校驗的方法
clearValidate() {
            if(this.$refs.form) {
                this.$refs.form.clearValidate();
            }
},
//清空數據
this.form = {}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM