To doprowadza mnie do szału, jestem pod bronią i nie mogę pozwolić sobie na spędzanie całego dnia na tym.Ręcznie ustawiona wartość dla FormBuilder Control
Próbuję ręcznie ustawić wartość kontrolną ("dept") w komponencie, a jej po prostu nie działa - nawet nowe logi wartości do konsoli prawidłowo.
Oto FormBuilder Instance:
initForm() {
this.form = this.fb.group({
'name': ['', Validators.required],
'dept': ['', Validators.required],
'description': ['', Validators.required],
});
}
To obsługi zdarzeń, które odbiera wybraną dept:
deptSelected(selected: { id: string; text: string }) {
console.log(selected) // Shows proper selection!
// This is how I am trying to set the value
this.form.controls['dept'].value = selected.id;
}
Teraz, gdy formularz jest składany i wylogować this.form
pole jest nadal pusty! Widziałem inne użycie ppl updateValue()
, ale jest to wersja beta.1 i nie widzę tego jako prawidłowej metody wywoływania kontroli.
Próbowałem również zadzwonić updateValueAndValidity()
bezskutecznie :(.
chciałbym po prostu użyć ngControl="dept"
na elemencie formularza, jak robię z resztą postaci, ale jego dyrektywy zwyczaj/komponentu.
<ng-select
[data]="dept"
[multiple]="false"
[items]="depts"
(selected)="deptSelected($event)" <!-- This is how the value gets to me -->
[placeholder]="'No Dept Selected'"></ng-select>
ja napotkasz podobnej sytuacji, scenariusz został wartość została ustalona w http.get subskrybowania i wczytaj wartość formularza, ale ustawiając najpierw wykonywanie linii wartości, subskrybowanie zostanie wykonane później jako asynchroniczne. więc ustawienie wartości w subskrypcji upewnij się, że jej zestaw. my2cents! – HydTechie