Таблица материалов Angular: сортировка не работает при использовании других полей, кроме описания

Я пытаюсь отсортировать таблицы отпусков. В то время как мое описание поля работает, когда я пытаюсь отсортировать другие поля, такие как leave_type, leave_from, leave_to, оно не работает. Ниже приведен мой код для файлов .html и .ts.

оставить-form.html

<table mat-table [dataSource] = "leaveData" style = "width: 100%" matSort>
          <ng-container  matColumnDef = "sn"><input matInput  placeholder = "Filter">
            <th mat-header-cell *matHeaderCellDef mat-sort-header> SN. </th>
            <td mat-cell *matCellDef = "let element; let i = index;"> {{i+1+(pageSize*pageIndex)}} </td>
          </ng-container>
          <ng-container  matColumnDef = "leaveType">
            <th mat-header-cell *matHeaderCellDef mat-sort-header> Leave Type </th>
            <td mat-cell *matCellDef= "let element" > {{element.leave_type}} </td>
          </ng-container>

          <ng-container matColumnDef = "description">
            <th mat-header-cell *matHeaderCellDef mat-sort-header> Description </th>
            <td mat-cell *matCellDef= "let element"> {{element.description}} </td>
          </ng-container>

           <ng-container matColumnDef = "leaveFrom">
              <th mat-header-cell *matHeaderCellDef mat-sort-header> Leave From </th>
              <td mat-cell *matCellDef= "let element"> {{element.start_date | date: 'MM dd, y' : 'UTC'}} </td>
          </ng-container>

          <ng-container matColumnDef = "leaveTo">
            <th mat-header-cell *matHeaderCellDef mat-sort-header> Leave To </th>
            <td mat-cell *matCellDef= "let element"> {{element.end_date | date: 'MM dd, y' : 'UTC'}} </td>
          </ng-container>

          <ng-container matColumnDef = "appliedOn">
            <th mat-header-cell *matHeaderCellDef mat-sort-header> Applied Date </th>
            <td mat-cell *matCellDef= "let element"> {{element.created_at | date: 'MM dd, y' : 'UTC'}} </td>
          </ng-container>

          <ng-container  matColumnDef = "leaveStatus">
            <th mat-header-cell *matHeaderCellDef mat-sort-header> Leave Status </th>
            <td mat-cell *matCellDef= "let element"> {{element.leave_status}} </td>
          </ng-container>

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

оставить-form.ts

 getLeaveData() { 
    this.leaveApi.getUserLeave()
      .subscribe((data: []) => {
        console.info(data);
        this.leaveData = new MatTableDataSource(data);
        this.leaveData.paginator = this.paginator;
        this.leaveData.sort = this.sort;
      });
  }
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
253
1

Ответы 1

Поместите строку кода сортировки внутри setTimeout(function() { this.leaveData.sort = this.sort; }, 1)

Другие вопросы по теме