Угловой материал - сохранение исходного выбора флажка при изменении источника данных - PullRequest
0 голосов
/ 18 декабря 2018

В 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, дубликаты будут созданы при выборе.

Как я могу решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...