JDO*_*DOE 5 angular2-forms angular2-ngmodel angular
这是我目前的代码:
<select name="role" [(ngModel)]="user.role">
<option *ngFor="let role of roles" [ngValue]="role" [attr.selected]="role == user.role ? 'true' : 'false'">{{role.name}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我正在加载数组中的所有角色,并且用户类具有Role属性(不会像user.role = roles[0]后端数据一样加载).
问题是所选属性不起作用,而我的选择不会转到正确的角色.我究竟做错了什么?
只需删除
[attr.selected]="role == user.role ? 'true' : 'false'"
Run Code Online (Sandbox Code Playgroud)
和分配选定角色user.role,并ngModel会使匹配项的选择之一.
如果role是对象,则分配的实例必须相同.
另请参阅自4.0.0-beta.7以来最近添加的自定义比较https://github.com/angular/angular/issues/13268
<select [compareWith]="compareFn" ...
Run Code Online (Sandbox Code Playgroud)
compareFn(val1, val2): boolean {
return val1 && val2 ? val1.id === val2.id : val1 === val2;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5573 次 |
| 最近记录: |