在項目中完成編輯功能時,遇到了這樣一個問題:編輯的功能使用的是一個子組件作為彈出框,如圖
這裡涉及到從父組件向子組件傳遞數據的問題,這個項目使用的是v1.0,問題是當點擊了編輯以後,彈出的子組件中沒有獲取到父組件傳過來的數據,檢查後沒有發現代碼錯誤,最後解決的方法就是在父組件中,把傳遞的數據中的每一項都初始化了一遍就好了
creatIssue (type,list,id){ this.modelIssue=true; this.modeltype=type; if(type=='creat'){ this.listdb.executorName=''; this.listdb.executorId=''; this.listdb.state=''; this.listdb.ProjVerId=''; this.listdb.content=''; this.issueTitle="創建問題至"; }else if(type=='edit'){ this.listdb={...list}; // 解構數據,只用list的數值,不用list的地址 this.editId=id; this.issueTitle="編輯問題"; } },
這是點擊編輯時執行的方法,下面是向子組件傳遞的數據
listdb:{ executorName:'', executorId:'', state:'', ProjVerId:'', content:'' },
開始的時候,只是定義了一個空的數據像這樣:
listdb:{},
這種情況下就不會向子組件傳遞數據,當把要傳遞的每一項內容都定義了一遍以後就好了,像上面的那種寫法。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。