角垫表排序未触发

时间:2019-05-06 14:02:22

标签: angular angular-material mat-table

对于我的表,我有以下html:

<div *ngIf="test">
 <div *ngIf="sortedData" [ngStyle]="{'height': elmtHeight, 'overflow': 'auto'}">
      <table mat-table [dataSource]="dataSource" matSort>

        <ng-container [matColumnDef]="column" *ngFor="let column of displayedColumns;">
          <th mat-header-cell *matHeaderCellDef mat-sort-header> {{column}} </th>
          <td mat-cell *matCellDef="let element"> 
            <div *ngFor="let data of element[column]">{{data.data}}</div> 
          </td>
        </ng-container>

        <tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></tr>
        <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
      </table>
    </div>
</div>

以及组件中的以下内容:

this.dataSource = new MatTableDataSource(me.sortedData);
this.dataSource.sort = this.sort;
this.dataSource.sortingDataAccessor = ((item: any, header: string) => {
                                    return item[header][0].data;
                                  });
this.test = true;

我什至创建了一个堆叠闪电战: https://stackblitz.com/edit/angular-27gm6u,并且可以正常使用。

但是由于某种原因,排序不会被触发,console.log()将不会显示在我的控制台中。我没有错误也没有警告。

我希望有人知道出什么问题了。

编辑 如果它在*ngIf内部,则在stackoverflow中对其进行了重现,但无法正常工作。 似乎是我在github https://github.com/angular/components/issues/15966

上发布的错误

0 个答案:

没有答案