Entonces, en la primera página, muestra la pantalla correcta
Pero cuando hago clic en la página siguiente, muestra 21-20 de , lo cual es incorrecto.
El código #html que usa el componente add pasa el texto del prefijo y el texto del sufijo
<app-table-paginator-text [dataSource]="dataSource" [prefixText]="'Showing'" [suffixText]="'results'"></app-table-paginator-text>código html de la fuente de #datos
<div id="table-paginator-text" class="secondary-text" *ngIf="dataSource.paginator !== undefined"> {{prefixText}} {{(dataSource.paginator.pageIndex === 0)? 1: (dataSource.paginator.pageSize * dataSource.paginator.pageIndex) + 1 }} - {{this.dataSource.connect().value.length}} of {{dataSource.data.length}} {{suffixText}} </div>En su código fuente de datos, está compensando correctamente el número de la izquierda por el tamaño de la página, pero el lado derecho es simplemente la longitud del conjunto actual. También debe agregar el desplazamiento allí. Creo que lo siguiente debería hacerlo:
(dataSource.paginator.pageSize * dataSource.paginator.pageIndex) + this.dataSource.connect().value.lengthProbar:
<div id="table-paginator-text" class="secondary-text" *ngIf="dataSource.paginator !== undefined"> {{prefixText}} {{(dataSource.paginator.pageIndex === 0)? 1: (dataSource.paginator.pageSize * dataSource.paginator.pageIndex + 1)}} - {{dataSource.paginator.pageSize * dataSource.paginator.pageIndex + this.dataSource.connect().value.length}} of {{dataSource.data.length}} {{suffixText}} </div>