Angular4: select [selected] 第一次不工作
Angular4: select [selected] not work for the first time
有一个密码:
<select name="department" class="form-control select" [(ngModel)]="departments" formControlName="departmentControl">
<option *ngFor="let department of departments" [ngValue]="department" [selected]="department.id == this.departmentid">
{{ department.name }}
</option>
</select>
和功能:
isSelected(department): boolean {
debugger;
return department.id == this.departmentid;
}
department - 是用户详细信息组件的嵌套组件。在我第一次 select 用户详细信息组件之后,部门未 selected。但是第二次一切正常。哪里出错了?
你的ngModel
是错误的,你应该把它写成departmentid
,ngValue
应该是部门的ID,如下
<select name="department" class="form-control select" [(ngModel)]="departmentid" formControlName="departmentControl">
<option *ngFor="let department of departments" [ngValue]="department.id" [selected]="department.id == this.departmentid">
{{ department.name }}
</option>
</select>
参考此 了解更多信息
不需要 : [selected]="department.id == this.departmentid"
因为你正在使用 [(ngModel)]
将[(ngModel)]="departments"
更改为[(ngModel)]="departmentid"
将[ngValue]="department"
更改为[ngValue]="department.id"
最后应该是这样的:
<select name="department" class="form-control select" [(ngModel)]="departmentid" formControlName="departmentControl">
<option *ngFor="let department of departments" [ngValue]="department.id" >
{{ department.name }}
</option>
</select>
有一个密码:
<select name="department" class="form-control select" [(ngModel)]="departments" formControlName="departmentControl">
<option *ngFor="let department of departments" [ngValue]="department" [selected]="department.id == this.departmentid">
{{ department.name }}
</option>
</select>
和功能:
isSelected(department): boolean {
debugger;
return department.id == this.departmentid;
}
department - 是用户详细信息组件的嵌套组件。在我第一次 select 用户详细信息组件之后,部门未 selected。但是第二次一切正常。哪里出错了?
你的ngModel
是错误的,你应该把它写成departmentid
,ngValue
应该是部门的ID,如下
<select name="department" class="form-control select" [(ngModel)]="departmentid" formControlName="departmentControl">
<option *ngFor="let department of departments" [ngValue]="department.id" [selected]="department.id == this.departmentid">
{{ department.name }}
</option>
</select>
参考此
不需要 : [selected]="department.id == this.departmentid"
因为你正在使用 [(ngModel)]
将[(ngModel)]="departments"
更改为[(ngModel)]="departmentid"
将[ngValue]="department"
更改为[ngValue]="department.id"
最后应该是这样的:
<select name="department" class="form-control select" [(ngModel)]="departmentid" formControlName="departmentControl">
<option *ngFor="let department of departments" [ngValue]="department.id" >
{{ department.name }}
</option>
</select>