Угловая сортировка мат-стола не срабатывает - PullRequest
1 голос
/ 06 мая 2019

Для моей таблицы у меня есть следующий 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() не будет отображаться в моей консоли. Я не получаю ошибок и предупреждений.

Надеюсь, кто-то знает, что не так.

EDIT Я воспроизвел его в стеке потока, если он внутри *ngIf, он не работает. Кажется, это ошибка, которую я опубликовал на github https://github.com/angular/components/issues/15966

...