当列名与数据属性名称不匹配时,按列进行角排序

问题描述 投票:0回答:1

我正在尝试对用角钢构造的桌子进行排序。按照文档的示例: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进行排序时假设已排序的列名称与该列显示的数据属性名称匹配。

但是对于不正确的情况,我没有找到任何解决方案

angular typescript angular-material
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.