簡體   English   中英

Angular 2 - 當默認為硬編碼時,在下拉列表中設置默認值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM