【发布时间】:2016-08-15 09:08:48
【问题描述】:
这就是我想要做的:我想要一个选择列表绑定到具有 ngValue 的对象数组,但第一个选项需要是具有 null 值的“无”选项。
型号:
this.managers = [
{ id: null, name: "(None)" },
{ id: 1, name: "Jeffrey" },
{ id: 2, name: "Walter" },
{ id: 3, name: "Donnie" }
];
this.employee = {
name: "Maude",
managerId: null
};
查看:
<select [(ngModel)]="employee.managerId">
<option *ngFor="#manager of managers" [ngValue]="manager.id">{{ manager.name }}</option>
</select>
加载时,列表正确绑定到“无”元素。但是,如果您更改为不同的项目并返回,模型值现在会切换为字符串0: null。这很不方便;这意味着我必须在尝试将其保存到服务器之前拦截该值并将其手动更改为 null。
这是一个带有演示的 Plunker:http://plnkr.co/edit/BH96RWZmvbbO63ZAxgNX?p=preview
这在 Angular 1 中很容易通过额外的<option value="">None</option> 完成
这似乎是一种很常见的情况,但我一直找不到任何解决方案。我也尝试添加一个<option [ngModel]="null">None</option>,但它会产生相同的0: null 值。
有什么建议吗?
【问题讨论】:
-
我猜你应该创建一个错误报告。
标签: angular