Me he dado cuenta de que si desactivo un control en una forma reactiva de Angular 2, el control no se incluye en form.value. Por ejemplo, si defino mi formulario como se muestra a continuación:
this.notelinkingForm = new FormGroup({
Enabled: new FormControl(settings.Enabled, Validators.required),
LinkToPreceeding: new FormControl({value: settings.LinkToPreceeding, disabled: !settings.Enabled}, Validators.required),
LinkingTolerance: new FormControl({value: settings.LinkingTolerance, disabled: !settings.Enabled}, Validators.required)
});
y verifique this.notelinkingForm.value, si todos los controles están habilitados, la salida sería:
{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"}
Sin embargo, cuando algunos de los controles están deshabilitados sería:
{"Enabled":true}
Observe cómo se excluyen los controles deshabilitados.
Mi intención es que cuando cambie el formulario, quiero poder pasar el form.value con todas las propiedades a mi API de descanso. Obviamente, esto no será posible si no contiene los elementos deshabilitados.
¿Me falta algo aquí o es este el comportamiento esperado? ¿Hay alguna manera de decirle a Angular que incluya los elementos deshabilitados en form.value?
Dé la bienvenida a sus pensamientos.