【发布时间】:2017-08-29 09:29:03
【问题描述】:
我正在使用角度反应形式为嵌套对象数组构建一个形式。我能够绘制表单并且它按预期工作,但在一种情况下,我希望能够使用当前在 UI 中输入的值填充某个输入框
我想要什么? 下面是我的 UI,你可以看到我有一组属性。我想要的是当用户输入一个propertyName时。我希望能够将其添加为数组并显示 messageId 字段的下拉列表(它是一个多选剑道组件)
我有什么?
为了收听 propertyName 的变化,我使用了 angular forms 已经为每个 FormControl 提供的 Observable 并编写了以下代码
var propertyNameControl: FormControl = new FormControl('', Validators.required);
propertyNameControl.valueChanges.forEach(
(value: string) => {
console.log(value);
this.propertyList.push(value)
}
);
但是每次按键而不是 onblur 都会触发 valueChanges 事件。因此,如果用户输入 Apple 作为属性名称。我的列表中将有 (A, AP, APP...)。
问题 如何订阅FormControl输入框的onblur事件?基本上我正在寻找类似 propertyNameControl.onFocusOut.forEach()
【问题讨论】:
-
onblur事件不过是touched事件,当控件模糊时触发。 -
是的@RahulSingh。我希望我的 FormControl 挂钩该事件
-
@gunter 给出了值得研究的答案