【发布时间】:2020-06-22 10:03:31
【问题描述】:
我使用的是单张纸。表格的每一行都有一个复选框,当复选框被选中时,该行的 id 值被添加到 FormArray,当它被移除时,id 值从数组中删除。因为我的页面在表格中,所以在我做出选择之后,当我在下一页做出选择并返回第一页时,即使我的行 ID 值在 FormArray 中,我的复选框值也是错误的。如何确保我的选择在真假时保持真假,而不受页面更改的影响
.ts 文件
selectedAppeals: FormArray = new FormArray([]);
...
updateApeealChecked(event, id: string) {
if (event.target.checked) {
this.selectedAppeals.push(new FormControl(id));
}
else {
let i: number = 0;
this.selectedAppeals.controls.forEach((item: FormControl) => {
if (item.value == id) {
this.selectedAppeals.removeAt(i);
return;
}
i++;
});
}
}
.html 文件
<mat-checkbox *ngIf="(row.status === appealStatus.Waiting || row.status === appealStatus.Redirected
|| row.status === appealStatus.AwaitingApproval)"
(change)="updateApeealChecked($event, row.id)">
</mat-checkbox>
【问题讨论】:
标签: angular typescript angular-material