[英]Angular 2 - setting default value in dropdown when default is hard coded
我有以下下拉列表。 我想將所有患者設置為默認值。
<select [(ngModel)]="searchModel.careprovider">
<option [value]="0">All Pateints</option>
<option *ngFor="let user of practiceUsers" [value]="user._id.$oid">
{{user.dn}}
</option>
</select>
我的模型以這種方式聲明:
searchModel: any = { location: null, practice: null, name: '', careProvider: 0 };
我用這種方式設置了練習用戶:
this._practice.getUsers(this.searchModel.practice).subscribe(result => {
this.practiceUsers = result;
this.searchModel.careProvider = 0;
});
無論我如何更改它,我總是只得到一個空白選項作為默認選項。 我在加載后嘗試將一個對象添加到this.practiceUsers
數組,然后設置模型值。 我已嘗試使用和不使用引號設置模型值,以查看數字或字符串是否有所不同。 我嘗試的一切仍然導致默認為空白選項。
在Angular 1中,我會使用ng-options
,但是Angular 2不再可用,我發現的每個例子都顯示使用ngFor
進行下拉。
對象屬性區分大小寫,在您的對象中,屬性稱為careProvider
,但在您的模板中,您使用的searchModel.careprovider
帶有小寫p
searchModel.careprovider
。 我認為您還必須使用NgValue
指令而不是value
因為您使用的是NgModel
指令。 所以,這應該工作:它不起作用
<select [(ngModel)]="searchModel.careProvider">
<option [ngValue]="0">All Pateints</option>
<option *ngFor="let user of practiceUsers" [ngValue]="user._id.$oid">
{{user.dn}}
</option>
</select>
嘗試使用[selected]屬性。 我這樣解決了類似的問題:
<select>
<option *ngFor="let option of options" value="{{option.id}}" [selected]="option === selectedOption">
{{option.name}}
</option>
</select>
希望這會有幫助
<select class="form-control" id="policeid_country_id" name="policeid_country_id" formControlName="policeid_country_id">
<option [ngValue]="null">Select</option>
<option [ngValue]="country.id" *ngFor="let country of countries">{{country.country}}</option>
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.