Zauważyłem, że jeśli wyłączę formant w formularzu reaktywnym Angular 2, wówczas formant nie zostanie uwzględniony w form.value. Na przykład, jeśli zdefiniuję swój formularz jak poniżej:
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)
});
i sprawdź this.notelinkingForm.value, jeśli wszystkie kontrolki są włączone, wynik będzie wyglądał następująco:
{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"}
Jednak gdy niektóre elementy sterujące są wyłączone, byłoby to:
{"Enabled":true}
Zwróć uwagę, jak wyłączone są wyłączone kontrolki.
Moim zamiarem jest to, że gdy formularz się zmieni, chcę mieć możliwość przekazania form.value ze wszystkimi właściwościami do mojego pozostałego interfejsu API. Nie będzie to oczywiście możliwe, jeśli nie będzie zawierał wyłączonych elementów.
Czy coś mi tu brakuje, czy jest to oczekiwane zachowanie? Czy istnieje sposób, aby powiedzieć Angularowi, aby uwzględnił wyłączone elementy w form.value?
Powitaj swoje myśli.