Actualmente tengo problemas al paginar una lista de clientes en Angular 2. Aquí hay un fragmento de mi código:
<tr *ngFor="let client of eClients | filter:term | paginate: { itemsPerPage: 20, currentPage: p}; let i = index" (click)="toggleClient(i)"> <td> <checkbox [(ngModel)]="eClients[i].selected"> {{client.name}} <checkbox> </td> </tr>El problema es que el índice no corresponde a la posición real en la matriz. Por ejemplo, si voy a la página 2 y hago clic en el cliente n.º 2 de la lista, debería obtener un índice de 22; sin embargo, obtengo 2. Parece que el índice solo abarca del 0 al 19 a medida que paso de una página a otra. . Es filtrar los datos primero y luego establecer un índice. ¿Cómo puedo configurar "i = index" antes de que se realice cualquiera de los filtros o la paginación?
Ps "casilla de verificación" es mi propio módulo y "término" es mi propio filtro de tubería.
Por favor ayuda. Gracias
agregue fromGroupName para formArray
[formGroupName] = "getFormGroupIndex(i)"para esta función calcula el índice:
getFormGroupIndex(index: number): number { return index + (this.TableCurPage - 1) * this.ItemPerpage;}