首页 > 解决方案 > 垫排序不适用于下拉列

问题描述

我有名称和部门的列表页面。这里的部门列是下拉值。当我尝试根据名称进行排序时,它工作正常,但排序不适用于下拉值。

这是我的代码

<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>

标签: angularmat-table

解决方案


你是怎么分类的?你使用方法 array.sort((a, b) => ...) 吗?


推荐阅读