2017-08-15 27 views
1

存在值I已經在形式嵌套選擇元素和我只希望每個值選擇一次。我如何檢查是否存在selectedoccupations數組中occupation.occupation,並設置[disabled]=''爲true,如果它的存在?角 - 禁用選擇選項如果在陣列

組件

selectedOccupations: any[] = [ 
    { occupation: 'dev' }, 
    ]; 

模板

<tr> 
      <td> 
      <md-select formControlName="occupation" [ngModelOptions]="{standalone: true}" placeholder="Occupation" (change)="filterGuests($event, i)"> 
       <md-option [value]="null">Occupation</md-option> 
       <md-option *ngFor="let occupation of occupationz" [value]="occupation.occupation" [disabled]=""> 
       {{ occupation.occupation }} 
       </md-option> 
      </md-select> 
      </td> 
     </tr> 
+0

您是否嘗試過使用過濾器? – brijmcq

回答

1

撥打電話到你返回值打字稿功能!

<tr> 
    <td> 
    <md-select formControlName="occupation" [ngModelOptions]="{standalone: true}" placeholder="Occupation" (change)="filterGuests($event, i)"> 
     <md-option [value]="null">Occupation</md-option> 
     <md-option *ngFor="let occupation of occupationz" [value]="occupation.occupation" [disabled]="isDisabled(occupation)"> 
     {{ occupation.occupation }} 
     </md-option> 
    </md-select> 
    </td> 
</tr> 

然後在打字稿:

function isDisabled(occupation: any):boolean{ 
    // if it exists... disabled == true; 
    return selectedOccupations.includes(occupation.occupation); // note, i'm not certain if this should just be occupation. 
} 
0

嘗試[disabled] = "selectedOccupations.includes(occupation)"

這是不是很有效,但應該不會那麼糟糕。