2

这是一个界面:

interface User { name: string; }

和反应形式:

ngOnInit() {
  this.formGroup = this.fb.group({
    name: [user.name, Validators.required]
  });
}
<form [formGroup]="formGroup" novalidate>
  <input type="text" formControlName="name">
</form>

当字段更新时,有没有办法让 get 的值user.name自动更新(双向绑定,就像 template-driven ngModelinput

4

1 回答 1

3

这是可能的。

首先,您需要将FormsModule旁边的导入ReactiveFromsModule到您的项目中。

并添加[(ngModel)]="name"到您的 html 中,如下所示:

<form [formGroup]="formGroup">
    <input type="text" [(ngModel)]="name" formControlName="test">
</form>

看到这个plunkr

通过订阅更新模型: 您可以订阅formGroup valueChange并分别编辑您的模型。

像这样:

  this.formGroup.valueChanges.subscribe((changes) => {
    this.submitObj = changes;

    for(let propName in changes){
      this.test[propName] = changes[propName];
    }
  })
于 2017-05-17T18:00:16.557 回答