我有一个Angular2模型,我通过服务填充。我想使用这个模型然后填充我的表单(从FormBuilder
构建),以便我的用户可以编辑数据。
以下是我目前正在做的事情,但是我的模型中存在的字段中的错误在我的表单中没有公开。
...
ngOnInit(): void {
this.buildForm();
this.get('1');
}
get(id: string) {
this.myModelsService.get(id)
.subscribe(
d => {
this.myModel = d;
this.myForm.setValue(d);
},
error => console.log(error)
);
}
这样可行,但我收到Cannot find form control with name: incidentTimeStamp
等错误。
我是否应该首先删除我知道没有相应表单控件的属性?或者有更好的方法来做我想做的事情吗?
能够填充字段进行编辑似乎是一个非常基本的构建块,这似乎比它应该更难。
答案 0 :(得分:0)
解决方案是使用FormGroup.patchValue()
FormGroup.setValue()
会进行严格检查,而FormGroup.patchValue()
则不会。