选择不在Angular 2中选择

时间:2018-03-06 10:28:40

标签: angular typescript angular2-template

使用 angular 2 代码中的ngFor填充选项。我需要默认选择任何给定索引的任何特定选项。

我使用 [attr.selected] =“i == 0”,但选择最后一个选项而不是第一个选项。

  

这是我的代码

<select id="roles" required formControlName="userRole">
    <option *ngFor="let roles of URoles;let i = index" [attr.selected]="(i==0)" [value]="roles._id">{{ roles.name }}</option>
</select>

可能是什么问题?为什么没有选择第一个选项?

3 个答案:

答案 0 :(得分:0)

根据我的理解,选择是有效的,因为它应该工作。所以一个简单的解决方案将是

<ng-container *ngFor="let roles of universityAllRoles;let first = first"<option [attr.selected]="first" [value]="roles._id">{{ roles.name }}</option></ng-container>

答案 1 :(得分:0)

这可能对您有所帮助

<select id="roles" required formControlName="userRole">
 <option *ngFor="let roles of URoles;let i = index;" [value]="roles._id" selected="i==0">{{roles.name}}</option>
</select>

此处也不需要ng-container

答案2 - 如果您需要使用attr.selected属性,请使用以下代码:

<select id="roles" required formControlName="userRole">
 <option *ngFor="let roles of URoles;let i = index;" [value]="roles._id" [attr.selected]="i == 1">{{roles.name}}</option>
</select>

答案 2 :(得分:0)

请试试这个

<select id="roles" required formControlName="userRole">
    <option *ngFor="let roles of URoles" [selected]="roles._id == 0" [value]="roles._id" >{{ roles.name }}</option>
</select>

为我工作。希望这对你有用。