Это сводит меня с ума, я под пистолетом и не могу позволить себе провести еще целый день на этом.
Я пытаюсь вручную установить контрольное значение ('dept') внутри компонента, а его просто не работает - даже новое значение регистрируется для правильной консоли.
Вот экземпляр FormBuilder:
initForm() {
this.form = this.fb.group({
'name': ['', Validators.required],
'dept': ['', Validators.required],
'description': ['', Validators.required],
});
}
Это обработчик событий, который получает выбранный отдел:
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;
}
Теперь, когда форма отправлена, и я выхожу из системы this.form
, поле остается пустым! Я видел другое использование ppl updateValue()
, но это бета-версия .1, и я не вижу в качестве допустимого метода вызова элемента управления.
Я также попытался вызвать updateValueAndValidity()
без успеха: (.
Я просто использовал бы ngControl="dept"
в элементе формы, как я делаю с остальной частью формы, но с ее настраиваемой директивой/компонентом.
<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>