В mat-таблице, когда источник данных изменяется, а затем возвращается обратно, я хочу, чтобы изначально отмеченные флажки были проверены снова.Предположим, я установил флажки № 1 и 2. Затем источник данных изменился.Затем он возвращается к тому, что было раньше.В этом случае я хочу, чтобы флажки 1 и 2, которые были выбраны ранее, были выбраны автоматически.Выбор содержит эти записи, но они не проверяются.
У меня есть mat-table
со столбцом флажка как:
<ng-container matColumnDef="selectColumn">
<mat-header-cell *matHeaderCellDef></mat-header-cell>
<mat-cell *matCellDef="let element">
<input id="checkBox" type="checkbox" (change)="$event ? selection.toggle(element) : null; updateSelection();"
[checked]="selection.isSelected(element)" (click)="$event.stopPropagation();">
</mat-cell>
</ng-container>
TS:
selection = new SelectionModel(true, AppConstants.selectedRecords);
updateSelection() {
console.log(this.selection.selected);
}
createRecordingsTable() {
// ... logic to update this.records
this.dataSource = new MatTableDataSource(this.records);
console.log(this.selection.selected);
}
Теперь, когда источник данных возвращается к исходному, флажки 1 и 2 не проверяются, даже несмотря на то, что в выборке есть записи для них.Кроме того, если я снова нажму 1 и 2, дубликаты будут созданы при выборе.
Как я могу решить эту проблему?