У меня есть определение TurboTable с выбором флажка, как показано ниже:
<p-table [columns]="cols" [value]="dataJSONArray" [paginator]="true" [rows]="10" [scrollable]="true"
[(selection)]="dtSelectedRows" dataKey="OrderId">
<ng-template pTemplate="colgroup" let-columns>
<colgroup>
<col style="width: 3em">
<col *ngFor="let col of columns" [ngStyle]="{'width': col.widthPx + 'px'}">
</colgroup>
</ng-template>
<ng-template pTemplate="header">
<tr>
<th>
<p-tableHeaderCheckbox></p-tableHeaderCheckbox>
</th>
<th *ngFor="let col of cols">{{col.header}}</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-col>
<tr [pSelectableRow]="rowData">
<td>
<p-tableCheckbox [value]="rowData"></p-tableCheckbox>
</td>
...
Если я изменяю массив dtSelectedRows (выбор), ничего не происходит (массив dtSelectedRows изменяется, но проверенные столбцы не изменяются - оставайтесь проверенными -):
this.dtSelectedRows.splice(indx, 1);
Но если я назначу массив массиву dtSelectedRows, изменения вступят в силу:
let dummySelectedRow = Object.assign([], this.dtSelectedRows);
dummySelectedRow.splice(indx, 1);
this.dtSelectedRows = dummySelectedRow;