Я пытаюсь отсортировать таблицу, построенную из углового материала. Следуя примеру документации: https://v5.material.angular.io/components/table/examples Мне удается сортировать таблицы по столбцам, когда имя столбца соответствует имени свойства данных.
Например, если мой объект: foo.name
, когда я использую:
html:
<table style="width: 100%;" mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Name </th>
<td mat-cell *matCellDef="let row"> {{ row.name }} </td>
</ng-container
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
ts:
displayedColumns: Array<string> = ['name'];
Работает нормально.
Однако, если моя структура объекта отличается (например, в моем случае я нашел имя в foo.propieties.name
), я не найду способ сделать заказ по имени.
Я обнаружил, что:
По умолчанию MatTableDataSource сортируется с предположением, что имя отсортированного столбца соответствует имени свойства данных, которое отображает столбец.
, но я не нашел никакого решения дляслучаи, когда это не так