私はこれをコンポーネントの中に持っています:
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
ありがとう
これを試して:
this.signupForm.patchValue({account:{email: '[email protected]'}});
別の解決策は:
(<FormGroup>this.signupForm.controls['account']).controls['email'].patchValue('[email protected]');
インデントが悪いのでごめんなさい。