У меня есть массив, который возвращается с сервера и отображает элементы с помощью *ngFor в таблице. После того, как я обработаю выбранный элемент, я удалю его из массива. Представление не удаляет удаленный элемент автоматически. Однако, если щелкнуть функцию сортировки в заголовке таблицы, удаленный элемент будет удален из представления. Я знаю, что мне нужно уведомить представление о том, что массив был изменен, даже если массив был обновлен внутри. Но я не мог найти способ заставить его работать. Я надеюсь, что кто-то может дать мне подсказку. Спасибо.
Patient.ts
public _records: Array<CRCasesLite>;
constructor(private router: Router,
private route: ActivatedRoute) {
this._records = this.route.snapshot.data['crCasesLite'];
}
onActivateRecord(record: CRCasesLite, index: number): void {
...
if (index > -1) {
this._records.splice(index, 1);;
}
}
Patients.html
<th class="input-sm">Patient <a (click)="oby=['PatientName']" class="fa fa-caret-up fa-2x"></a> <a (click)="oby=['-PatientName']" class="fa fa-caret-down fa-2x"></a></th>
<tr *ngFor="let record of _records | orderBy : oby ? oby : ['']; let i = index; trackBy:index">
<td class="input-sm">{{record.PatientName}} {{record.Id}}</td>
<td><a class="link btn btn-primary fa fa-plus-square" (click)="onActivateRecord(record, i)"></a></td>