2017-06-27 24 views
0
<div class="form-group"> 
    <label class="col-md-4 control-label" for="is_present">Is Present?</label> 
    <div class="col-md-4"> 
    <select id="is_present" name="is_present" class="form-control" *ngIf="candidates.is_present === true"> 
     <option value="true">Yes</option> 
     <option value="false">No</option> 
    </select> 
    </div> 
</div> 

我在我的html組件中有此代碼。我收到來自API的布爾數據,我想知道如果API數據爲true或false,使用*ngIfoption標記中添加selected的最佳方式。Angular 2 ng如果選擇框

+0

你將從'selected'變量中從服務器檢索什麼值? –

+0

我收到一個布爾值。我更新了問題 –

+0

然後只是'[(ngModel)] =「candidates.is_present」'給你的選擇,就是這樣:) Sajeeth已經給出了答案。 –

回答

0

只需使用candidates.is_present

<select id="is_present" [(ngModel)]="defaultValue" name="is_present" class="form-control"> 
     <option value="true">Yes</option> 
     <option value="false">No</option> 
</select> 

和TS文件,

if(candidates.is_present){ 
    this.defaultValue = 'Yes'; 
}else 
{ 
    this.defaultValue = 'No'; 
} 
+0

但是,如果數據爲真,如何顯示選項? –

+0

@VictorMendes你可以像上面那樣做 – Sajeetharan

1

稍微改變,以拉胡爾的回答,因爲從我的理解,您收到一個布爾值,是不應該與candidates.is_present相同。因此布爾值存儲到一個變量,如bool,然後只需在[(ngModel)]="bool"您的選擇:

<select name="is_present" [(ngModel)]="bool" *ngIf="candidates.is_present"> 
    <option value="true">Yes</option> 
    <option value="false">No</option> 
</select> 
0

,我可以從問題了解你想選擇基於一些candidates.is_present在選擇框中的值。所以在這裏你需要使用[(ngModel)] =「candidates.is_present」來綁定數據,並確保在導入中包含FormsModule。我們使用* ngIf,當我們希望我們的元素根據某些條件刪除/添加到dom時。你可以得到答案