Почему мой пейджинатор из угловых материалов не работает, у меня ошибка 0?

#angular #angular-material

Вопрос:

 <input class="form-control input" matInput (keyup)="applyFilter($event)" placeholder="Rechercher" #input>

<div class="mat-elevation-z8">
  <table mat-table [dataSource]="dataSource" matSort>

   
    <ng-container matColumnDef="idArticle">
      <th mat-header-cell *matHeaderCellDef mat-sort-header> Id article </th>
      <td mat-cell *matCellDef="let row"> {{row.idArticle}} </td>
    </ng-container>

    
    <ng-container matColumnDef="nomAR">
      <th mat-header-cell *matHeaderCellDef mat-sort-header> Nom article </th>
      <td mat-cell *matCellDef="let row"> {{row.nomAR}} </td>
    </ng-container>

    
    <ng-container matColumnDef="lot">
      <th mat-header-cell *matHeaderCellDef mat-sort-header> Lot </th>
      <td mat-cell *matCellDef="let row"> {{row.lot}} </td>
    </ng-container>


    <ng-container matColumnDef="boutton">
      <th mat-header-cell *matHeaderCellDef mat-sort-header>  </th>
      <td mat-cell *matCellDef="let row"  style="display: flex">
        <button (click)="deleteArticle(row.id)" class="btn btn-danger">Delete</button>
        <button (click)="updateArticle(row.id)" class="btn btn-info" style="margin-left: 10px">Update</button>

      </td>
    </ng-container>

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

    <!-- Row shown when there is no matching data. -->
    <tr class="mat-row" *matNoDataRow>
      <td class="mat-cell" colspan="4">Aucune donnée correspond à "{{input.value}}"</td>
    </tr>
  </table>

  <mat-paginator [pageSizeOptions]="[5, 10, 25, 100]"></mat-paginator>
</div>
 

Ответ №1:

Убедитесь, что вы импортировали следующее:

 import { MatPaginator } from '@angular/material/paginator';
 

А затем в процессе export class сделайте следующее:

 @ViewChild(MatPaginator) paginator: MatPaginator;    

ngOnInit(): void {
    ...
    this.loadData(...);
    ...
  }

loadData(...) {
    ...
    this.dataSource.paginator = this.paginator;
    ...
 }