これは私を混乱させています、私は銃の下にあり、これに丸一日を費やす余裕はありません。
コンポーネント内でコントロール値(「dept」)を手動で設定しようとしていますが、それが機能していません。新しい値でも適切にコンソールに記録されます。
次に、FormBuilderインスタンスを示します。
initForm() {
this.form = this.fb.group({
'name': ['', Validators.required],
'dept': ['', Validators.required],
'description': ['', Validators.required],
});
}
これは、選択した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;
}
フォームが送信されてログアウトしてもthis.form
、フィールドは空白のままです!他のpplの使用を見たことupdateValue()
がありますが、これはbeta.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>