[英]populate FormBuilder from a service in Angular2
我有一个通过服务填充的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
类的错误。
我应该首先删除我知道没有相应表单控件的属性吗? 还是有更好的方法来做我想做的事情?
能够填充字段以进行编辑似乎是一个非常基本的构建块,并且这似乎比应做的要困难得多。
解决方案是使用FormGroup.patchValue()
FormGroup.setValue()
不严格把关,同时FormGroup.patchValue()
没有。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.