2017-04-24 221 views
1

我想要做一個下拉選擇器與Angular 2.我有一個項目的數組,他們都顯示得很好,雙向數據綁定的作品。我唯一的問題是,下拉選擇器沒有默認值。當我加載頁面時,選擇器字段爲空。選擇器處於我的應用程序的編輯視圖中,這就是爲什麼我想將缺省值與「entityToEdit.cluster.id」對象的值匹配。任何人都可以幫我解決這個問題嗎?Angular 2:默認值下拉選擇器

<select [(ngModel)]="entityToEdit.cluster" 
      name="clusterSelector"> 
     <option *ngFor="let data of clusterData" [ngValue]= "data"> 
     {{data.id}} 
     </option> 
</select> 
+0

默認值(ngModel)] = 「entityToEdit.cluster [ '身份證']」 本來應該是ngmodel吧? – RemyaJ

+1

不,我想綁定entityToEdit.cluster對象。我只是通過它們的id在選擇器中顯示對象。 – Snerps

+0

但是如果你顯示的是選項的id,那麼默認值也應該顯示爲id吧? – RemyaJ

回答

4

只設置ngOnInit

ngOnInit() { 
    this.entityToEdit.cluster ="defaultval"; 
} 
+1

entityToEdit.cluster是一個對象,它保存了我想在選擇器中顯示的默認值。我爲什麼要改變它的價值? – Snerps

+0

它不會改變,它只是設置初始值 – Sajeetharan

+1

是的,但我想要顯示的初始值已經在entityToEdit.cluster對象中。該對象很好,它只是不顯示爲我的選擇器中的默認值。 – Snerps

0
Since you plan to show the selected id you should be setting the id as the ngmodel. 
<select [(ngModel)]="entityToEdit.cluster['id']" 
       name="clusterSelector"> 
      <option *ngFor="let data of clusterData" [ngValue]= "data.id"> 
      {{data.id}} 
      </option> 
    </select> 
+1

儘管這段代碼片段是受歡迎的,並且可能會提供一些幫助,但它會[如果它包含一個解釋](/ meta.stackexchange.com/q/114762)*如何解決該問題將會[大大改進。沒有這些,你的答案就沒有什麼教育價值了 - 記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –