Мои данные, которые я хочу использовать с mat-table, не плоские - есть слои разных объектов. Я могу отображать данные нормально, но сортировка не работает. Вот пример использования данных элемента с полями, расположенными на одном уровне внутри объекта 'foo'. Как мне заставить работать сортировку?
https://stackblitz.com/edit/angular-b8u3zr?file=src%2Fapp%2Ftable-sorting-example.ts
const ELEMENT_DATA: PeriodicElement[] = [
{foo: {position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H'}},
{foo: {position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'}},
{foo: {position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li'}},
...
<table mat-table [dataSource]="dataSource" matSort class="mat-elevation-z8">
<ng-container matColumnDef="foo.position">
<th mat-header-cell *matHeaderCellDef mat-sort-header> No. </th>
<td mat-cell *matCellDef="let element"> {{element.foo.position}} </td>
</ng-container>
...
</table>