Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
cómo definir el índice en la tabla de material angular

¿Cómo debo definir una variable de índice cuando se usa la tabla de material angular ya que ngFor no se usa en esta tabla?

Lo busqué en la documentación, pero el índice no se menciona en ninguna parte.

 <mat-table #table [dataSource]="dataSource"> <!--- Note that these columns can be defined in any order. The actual rendered columns are set as a property on the row definition" --> <!-- Position Column --> <ng-container matColumnDef="position"> <mat-header-cell *matHeaderCellDef> No. </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.position}} </mat-cell> </ng-container> <!-- Name Column --> <ng-container matColumnDef="name"> <mat-header-cell *matHeaderCellDef> Name </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.name}} </mat-cell> </ng-container> <!-- Weight Column --> <ng-container matColumnDef="weight"> <mat-header-cell *matHeaderCellDef> Weight </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.weight}} </mat-cell> </ng-container> <!-- Symbol Column --> <ng-container matColumnDef="symbol"> <mat-header-cell *matHeaderCellDef> Symbol </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.symbol}} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row> </mat-table> </div>

dónde y cómo defino una variable de índice para la matriz que utilicé en esta tabla, de modo que pueda vincular el valor de índice en mi tabla.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

¿Puedes agregar index para let element; let i = index;" como lo haría con *ngFor ?

 <mat-row *matRowDef="let row; columns: displayedColumns; let i = index"></mat-row>

O así:

 <ng-container matColumnDef="index"> <mat-header-cell *matHeaderCellDef> Index </mat-header-cell> <mat-cell *matCellDef="let element; let i = index;">{{i}}</mat-cell> </ng-container>

Ejemplo de trabajo: https://stackblitz.com/edit/angular-acdxje?file=app/table-basic-example.html

over 4 years ago · Santiago Trujillo Relatório

0

Para cualquiera que haya establecido la propiedad multiTemplateDataRows de mat-table en verdadero, no puede usar index . En su lugar, debe usar dataIndex o renderIndex .

 <mat-cell *matCellDef="let row; let i = dataIndex;">{{i}}</mat-cell>

Ver https://github.com/angular/material2/issues/12793

over 4 years ago · Santiago Trujillo Relatório

0

Para aquellos que tienen problemas para mantener el índice correcto cuando usan la paginación, qué tabla tiene más de 1 página. Puede ser especialmente importante cuando tiene un elemento editable, por lo que está utilizando un enlace de enrutador para agregar/editar/eliminar elementos seleccionados.

 <ng-container matColumnDef="title"> <mat-header-cell *matHeaderCellDef mat-sort-header>Title</mat-header-cell> <mat-cell *matCellDef="let book; let i = index;" fxLayoutAlign.lt-md="center center"> <button mat-button [routerLink]="[i + (paginator.pageIndex * paginator.pageSize)]" routerLinkActive="active"</button> </mat-cell> </ng-container>

Así como

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

En esencia, i + (paginator.pageIndex * paginator.pageSize) es la solución, pero cuenta desde 0 . Si desea indexar desde 1 , simplemente hágalo (i+1) + (paginator.pageIndex * paginator.pageSize) . Vale la pena señalar que realmente necesita el #paginator y [pageSize]="VALUE" .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda