繁体   English   中英

从Angular2中的服务填充FormBuilder

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM