在項目中完成編輯功能時,遇到了這樣一個問題:編輯的功能使用的是一個子組件作為彈出框,如圖

這裡涉及到從父組件向子組件傳遞數據的問題,這個項目使用的是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:{},
這種情況下就不會向子組件傳遞數據,當把要傳遞的每一項內容都定義了一遍以後就好了,像上面的那種寫法。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。