- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是我正在尝试做的事情:我想要一个选择列表绑定(bind)到一个带有 ngValue 的对象数组,但是第一个选项需要是一个带有 null
的“无”选项。值(value)。
型号:
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>
加载时,列表正确绑定(bind)到“None”元素。但是,如果您更改为不同的项目并返回,模型值现在会切换为字符串 0: null
.这很不方便;这意味着在尝试将其保存到服务器之前,我必须拦截该值并将其手动更改为 null。
这是一个带有演示的 Plunker:http://plnkr.co/edit/BH96RWZmvbbO63ZAxgNX?p=preview
这在 Angular 1 中用额外的 <option value="">None</option>
很容易完成。
这似乎是一个非常常见的场景,但我一直找不到任何解决方案。我也试过添加 <option [ngModel]="null">None</option>
, 但结果相同 0: null
值(value)。
有什么建议吗?
最佳答案
我会将您重定向到 TabascoMustang 的 reddit 答案,我实现了他的解决方案并且工作出色:
TabascoMustang's reddit answer
this should work (updated for current ng2 rc):
<select [ngModel]="audit.managerId || ''" (ngModelChange)="audit.managerId = $event">
<option value="">Please Select</option>
<option *ngFor="let contact of audit.contacts">{{ contact.name }}
</option>
</select>
关于Angular2 选择 ngValue 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36781906/
我正在尝试使用[选定]和[ngValue]来设置表单中包含对象的选择标记的默认值。但出于某种原因,它们似乎无法相提并论。。示例代码:。这段代码最终只显示空白作为缺省值。如果删除[ngValue],它就
如何避免表单输出中出现空白选项? Real Fake
使用 [ngValue] 从选择返回的值是索引和值的串联 如果我用这个 {{type.display}} 然后我用它来获取所选选项的值 selectType (e) { this.
我试图在填充选择时设置一个初始值,数据来自 rest 并加载到组件中。在 之后未设置/更新初始值 获取列表以填充选择: ... ngOnInit():any { this.crudService.ge
这是我正在尝试做的事情:我想要一个选择列表绑定(bind)到一个带有 ngValue 的对象数组,但是第一个选项需要是一个带有 null 的“无”选项。值(value)。 型号: this.manag
我最近才发现 SELECT 的 OPTION 部分的 value 属性有一个替代方案,即 ngValue。文档确实缺少关于此的文档(我只能找到:https://angular.io/docs/ts/l
这个问题的风格在发布之前已经在 Angular2 的各种版本中被问过很多次。但是,我还没有在此处的 plunk 中找到任何会产生所需行为(缺乏我想避免的解决方法)的东西:Select Object P
我正在尝试使用 [selected] 和 [ngValue] 设置包含表单中对象的选择标签的默认值。但出于某种原因,它们似乎不相容。 示例代码: {{store.name}
我想将我的 [ngValue] 属性绑定(bind)到一个删除了最后 4 个字符的字符串,事先使用 ngFor 执行此操作的最佳方法是什么?这是代码: 这是我从
我正在尝试在 Angular 5 中实现 select,但我不断得到这个 我已经尝试过很多 StackOverflow 问题,唯一的区别是 - 我的组件位于应用程序的另一个模块中,该模块最终注入(in
今天我意识到 Angular 5 中响应式表单的意外(对我来说)行为。服务器从应用程序接收到一个字符串,其值为“null”而不是 null 值,这正是我想要的。 我做了以下测试: https://st
我正在使用 angular 5,但出现了控制台错误: Can't bind to 'ngValue' since it isn't a known property of 'mat-option' 我
我正在使用 [(ngModel)]作为一个整体。当我从头开始时,这很好用,但在编辑模式下使用时就不行了。因此,例如当我分配 ngModel 时通过其他一些功能,选择下拉列表的 View 不会更新。 这
我是一名优秀的程序员,十分优秀!