web-dev-qa-db-ja.com

Angular2 FormFormのネストされた値を更新しますか?

私はこれをコンポーネントの中に持っています:

private formBuilder: FormBuilder

...

signupForm: FormGroup;

...

this.signupForm = this.formBuilder.group({
  'name':             [null, Validators.required],
  'account':          this.formBuilder.group({
    'email':          [null, [Validators.required, ...]],
    'confirm_email':  [null, Validators.required],
  }, {validator: ValidationService.emailMatcher}),
  'password':         [null, [Validators.required,...]]
});

そして、私はメールフィールドの値を設定したいと思います。私はこれを試しましたが、うまくいきませんでした:

this.signupForm.patchValue({'email': '[email protected]'});

しかし、値は入れ子になっているので、この場合の構文はどうですか?私も試しました:

this.signupForm.patchValue({'account.email': '[email protected]'});

こちらも検索:

https://angular.io/docs/ts/latest/api/forms/index/FormGroup-class.html#!#patchValue-anchor

ありがとう

16
ismaestro

これを試して:

this.signupForm.patchValue({account:{email: '[email protected]'}});

別の解決策は:

(<FormGroup>this.signupForm.controls['account']).controls['email'].patchValue('[email protected]');

インデントが悪いのでごめんなさい。

36
Karan Garg