2017-12-30 17 views
0

ngForを使用して、双方向バインドselectのドロップダウンを作成していますが、これは正常に動作していますが、ページがロードされていないときはoptionが選択されています。私は[selected]で試しましたが、何も起こりません...どんなタフツ?双方向のバインドされた選択ドロップダウンでオプションが選択されていませんか?


コード:

<ng-container *ngFor="let attribute of details.Attributes"> 
    <tr *ngIf="attribute.IsConfigurator == 'true'"> 
     <td align="right">{{attribute.PropertyName}}</td> 
     <td> 
      <select [(ngModel)]="config[attribute.Pid]" (ngModelChange)="updateConfig()" class="form-control"> 
       <option *ngFor="let values of attribute.Values; let i = index" value="{{values.Vid}}" [selected]="i == 0">{{values.Value}}</option> 
      </select> 
     </td> 
    </tr> 
</ng-container> 

答えて

1

は私が持っているので、私は、ngModel` ``としてselected`を使用することができないngOnInit

selected : any; 
ngOnInit() { 
    this.selected = this.attribute.Values[0]; 
} 

、次いで

<select [(ngModel)]="selected " (ngModelChange)="updateConfig()" class="form-control"> 
    <option *ngFor="let values of attribute.Values; let i = index" value="{{values.Vid}}">{{values.Value}}</option> 
</select> 
+0

私は10個の 'select'ドロップダウンを私のページに持っているので、' ngModel'として 'selected'を使うことはできません... –

+1

他の方法を使っても10個の異なる変数が必要です – Sajeetharan

1

[selected]="i == 0"はあなたがconfig[attribute.Pid]に選択したり、ngModel

values = ['a', 'b', 'c']; 
selected = 'b'; 
に特異的に結合するものは何でも表現している必要な値を割り当て [(ngModel)]="config[attribute.Pid]"

では動作しません。

<select [(ngModel)]="selected"> 
    <option *ngFor="let item of values" [value]="item">{{item}}</option> 
</select> 

は、最初にbを選択します。

+0

にコンポーネント内部ngModel値を設定10+私のページの 'select'ドロップダウンをすべて... –

+1

' selected1'から 'selected10'または配列を使います。 '選択された'は単なるsimplesの例です。 '