Questo mi sta facendo impazzire, sono sotto la pistola e non posso permettermi di passare un altro giorno intero su questo.Imposta manualmente valore per controllo FormBuilder
Sto provando a impostare manualmente un valore di controllo ('dept') all'interno del componente, e il suo funzionamento non funziona - anche i nuovi registri dei valori da gestire correttamente.
Ecco la FormBuilder Istanza:
initForm() {
this.form = this.fb.group({
'name': ['', Validators.required],
'dept': ['', Validators.required],
'description': ['', Validators.required],
});
}
Questo è il gestore di eventi che riceve il reparto selezionato:
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;
}
Ora, quando il modulo viene inviato e ho disconnettersi this.form
il campo è ancora vuoto! Ho visto altri ppl usare updateValue()
ma questa è la versione beta.1 e non la vedo come un metodo valido per chiamare il controllo.
Ho anche provato a chiamare updateValueAndValidity()
senza successo :(.
Vorrei solo usare ngControl="dept"
sull'elemento modulo, come sto facendo con il resto della forma, ma la sua direttiva custom/componente.
<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>
avevo incontrato situazione simile, lo scenario è stato il valore è stato impostato in http.get-subscribe e carica il valore del modulo, ma impostando la riga del valore che viene eseguita per prima, il subscribe viene realmente eseguito in seguito come asincrono. quindi impostando il valore nel subscribe assicurati che sia impostato. my2cents! – HydTechie