Angular ControlValueAccessor onChanges 不更新表单控件值
Angular ControlValueAccessor onChanges not updating form control value
这里转载component/problem的stackblitz
我构建了一个自定义输入组件:
- 采用用户对象数组进行预输入过滤
- 将您的选择显示为标签
- 表单控件值是所选用户的数组
users[]
问题是 adding a result (input-tags.component) 没有更新表单 (app.component),我不明白为什么。
输入-tags.component.ts
addTag(contact: any) {
...
this.onChange(this.tags); // update controller value
}
app.component.ts
this.form.controls['users'].valueChanges.subscribe(data => {
this.control = data; // always null
});
onChanges
按预期调用,除表单控件始终为空外,一切正常。为什么?
错误似乎出在您的 addTag()
函数中。您正在尝试访问 typeaheadSource
中不存在的参数。将 contact.userId
更改为 contact.id
就可以了。
这里转载component/problem的stackblitz
我构建了一个自定义输入组件:
- 采用用户对象数组进行预输入过滤
- 将您的选择显示为标签
- 表单控件值是所选用户的数组
users[]
问题是 adding a result (input-tags.component) 没有更新表单 (app.component),我不明白为什么。
输入-tags.component.ts
addTag(contact: any) {
...
this.onChange(this.tags); // update controller value
}
app.component.ts
this.form.controls['users'].valueChanges.subscribe(data => {
this.control = data; // always null
});
onChanges
按预期调用,除表单控件始终为空外,一切正常。为什么?
错误似乎出在您的 addTag()
函数中。您正在尝试访问 typeaheadSource
中不存在的参数。将 contact.userId
更改为 contact.id
就可以了。