mam problem stosując @md-input-containers
i reaktywne formy modułu Kanciastymi/materiału.Angular2/Materiał 2: etykieta MD-Input-pojemnik nie jest zresetowanie, gdy pływak jest zmieniana programowo
Tworzę formularz logowania z trzema md-inputs
, które są powiązane z wartościami przy użyciu FormBuilder
's FormGroup
. Wszystko tam działa dobrze.
Moim problemem jest to, że na funkcji ngSubmit
, mam reset formularz, jeśli poświadczenia są nieprawidłowe. Stosując metodę z FormGroup
.reset()
będzie przywrócić wartości domyślne, ale pływające etykiet w md-input-containers
nie są przywracanie ich pierwotnym miejscu, jak powinny być na pustym polu. Zgaduję, że dyrektywy w sprawie Material Design szukają rozmycia, aby to zaktualizować, ale nie mogę tego stwierdzić, i nie wiem, jak to zmusić.
Oto ngSubmit
funkcja:
submitForm(username: string, password: string, companyID: any):void {
this.userService.login(username, password, companyId)
.then(() => {
this.router.navigate(['main']);
})
.catch(() => {
this.loginForm.reset();
})
}
i na this.loginForm.reset()
miano formularze zostaną zresetowane do wartości domyślnych (pusty strings), ale etykiety nadal będą unosić:
Labels still float. I reset Company ID for reference.
Każdy pomysł, jak to naprawić? Naprawdę nie chcę wywoływać ElementRef
, chociaż już próbowałem to zrobić, aby wymusić rozmycie, które go nie rozwiązało.
Jeśli jest to nadal problem dla każdego, polecam dokonywania plunker i złożenie problem na https://github.com/angular/material2 –