我有一個表格來更新現有/創建新用戶。其中一個欄位是他們可以參與的一系列活動。活動串列是從服務器檢索的。編輯用戶時,我想在表單(復選框)中顯示所有可能的活動,并標記用戶選擇的活動。
但是,我在讓它作業時遇到了麻煩。我已閱讀以下博客文章: https ://netbasal.com/angular-reactive-forms-the-ultimate-guide-to-formarray-3adbe6b0b61a https://jasonwatmore.com/post/2020/09/18/angular -10-動態反應形式示例
結果,我想出了這樣的事情:
組件.ts:
form: FormGroup = this.fb.group({
firstName: ['', Validators.required],
lastName: ['', Validators.required],
activities: this.fb.array([]),
});
activitiesForm$ = this.activitiesService.allActivities$.pipe(
tap((activities) => {
for (let activity of activities) {
this.t.push(this.fb.group({ id: ['', Validators.required] }))
}
}),
);
在我的模板中:
<div *ngIf="activitiesForm$ | async as activities">
<div *ngFor="let activity of activities">
<input type="checkbox" role="switch" formControlName="activity">
</div>
</div>
我明白為什么這不起作用。但是,我不明白該怎么做才能使它正常作業。
uj5u.com熱心網友回復:
我為您創建了這個 stackblitz 應用程式,向您展示您的問題的解決方案
https://stackblitz.com/edit/angular-ivy-r2xaua?file=src/app/app.component.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/441762.html
