2017-06-16 83 views
0

我有這個輸入:NgModel清除選項卡更改的值?

<input type="text" class="form-control-full" placeholder="" [ngModel]="addressDetails?.zipCode" name="zipCode"> 

,我有兩個標籤,當我從郵政編碼改變標籤和返回自己的價值觀正在空。任何建議如何解決這個問題?

我從網格中選擇一個地址填入輸入

getAddressDetails(address) { 
     if (this.addressDetailForm) { 
      this.addressDetailForm.addressDetails = address; 
     } 
} 
+0

考慮保存數據..也許在一個共同的服務 –

+0

如何你處理你的標籤?他們是否更改URL或者它是否像引導程序的選項卡? – trichetriche

+0

他們不更改網址,它像靴子 – None

回答

0

,因爲這是在你的選項卡中的compoenent被破壞你的數據可能被清除。你沒有指定你的「兩個標籤」。所以我們現在不能真正幫助你。如果您爲選項卡使用某個組件,則可能會有一個選項來防止損壞內容。如果您使用URL決定哪個選項卡必須打開,您必須將數據保存在服務中。

0

從我所瞭解的情況來看,每次渲染該組件時都會填充表單,但是不保存數據,對嗎?

這意味着:

  1. 您提供了從什麼地方獲取addressDetails?.zipCode填充您的輸入。
  2. 然後轉到另一個選項卡,該組件可能會被破壞。
  3. 您返回到表單組件,然後再次檢索addressDetails?.zipCode覆蓋您以前的值。

我的建議是:

  • 保存addressDetails數據(表格數據一般)在你知道它不會被破壞,也沒有覆蓋的對象。
  • 只要您離開當前組件,請將表單數據保存在服務中。這樣,當你回到它,你可以從該服務獲得數據,如果是空的,你從服務器,API或任何其他數據...