垫排序不适用于下拉列

时间:2019-07-17 13:14:16

标签: angular mat-table

我有一个带有名称和部门的列表页面。这里部门列是下拉值。当我尝试根据名称进行排序时,它工作正常,但对于下拉值却无法进行排序。

这是我的代码

<div class="mat-elevation-z8">
    <mat-list>
        <mat-table #table1 [dataSource]="this.dataSource" #matSort="matSort" matSort>
            <ng-container matColumnDef="name">
                <mat-header-cell *matHeaderCellDef mat-sort-header>Name </mat-header-cell>
                <mat-cell *matCellDef="let element">{{element.name}}</mat-cell>
            </ng-container>
            <ng-container matColumnDef="dept">
            <mat-header-cell *matHeaderCellDef mat-sort-header>Department </mat-header-cell>
                <mat-cell *matCellDef="let element;">
                    <mat-select [(value)]="element.dept">
                        <mat-option *ngFor="let department of departments" [value]="department.name">
                        {{department.name}}
                        </mat-option>
                    </mat-select>
                </mat-cell>
            </ng-container>
            <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
            <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
        </mat-table>
        <mat-paginator [length]="length" [pageSize]="pageSize" [pageSizeOptions]="[10,15]" [pageIndex]="pageIndex" showFirstLastButtons></mat-paginator>
    </mat-list>
</div>

1 个答案:

答案 0 :(得分:0)

您如何对其进行排序?您是否使用array.sort((a,b)=> ...)方法?