簡體   English   中英

使用 ngModel 和 name 屬性時,Angular2 選擇默認值不起作用

[英]Angular2 select default value not working when ngModel and name attribute is used

<select id="role" name="role" class="form-control" [(ngModel)]="user.role" #role="ngModel" required>
    <option value="" >Select</option>
    <option value="leadAnalyst">Lead Analyst</option>
    <option value="analyst">Analyst</option>
    <option value="assistant">Assistant</option>
</select>

用戶創建.component.ts

ngOnInit() {
  this.user.role = 'Select';
}

我試過使用上面的代碼,但它不起作用。

您需要將用戶定義為對象,然后為角色分配值,

export class AppComponent {
  defaultStr = 'Select';
  user = { role: this.defaultStr };

  constructor() { console.clear(); }
  getvalue(){
    console.log(this.user.role);
  }
}

WORKING DEMO

將您的代碼更改為:

ngOnInit() {
        this.user.role = '';
    }

要選擇默認值,您需要使用 angular 的 selected 屬性

 <select id="role" name="role" class="form-control"  #role="ngModel" required>
    <option value="" >Select</option>
    <option value="leadAnalyst" [selected]="'leadAnalyst' == user.role">Lead Analyst</option>
    <option value="analyst" [selected]="'Analyst' == user.role">Analyst</option>
    <option value="assistant" [selected]="'assistant' == user.role">Assistant</option>
</select>

"User.role" 應該在 ngOnInit() 中返回用戶的角色

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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