Búsqueda de sitios web

formularios - ¿Actualizar valor anidado de FormGroup en Angular2?


Tengo esto dentro de un componente:

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,...]]
});

Y quiero establecer el valor para el campo de correo electrónico. Intenté esto, pero no tuve suerte:

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

Pero el valor está anidado, entonces ¿cuál es la sintaxis en este caso? También intenté:

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

También buscado aquí:

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

Gracias

Respuesta #1

Prueba esto:

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

Otra solución es:

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

Lo siento por la mala sangría.

Artículos relacionados