Как получить и установить номер текущей страницы в PrimeNG Datatable?

Я использую данные PrimeNG в моем угловом проекте. В одном из моих сценариев мне нужно получить текущий номер страницы таблицы данных primeNG и передать этот номер на следующий экран, а когда пользователь вернется на предыдущий экран, я хочу снова установить этот номер страницы.

Я проверил данные PrimeNG, но нет четкого способа получить и установить номер текущей страницы.

3 ответа

Ну, вы не можете получить номер страницы напрямую, но вы можете получить смещение (на основе нуля) первой отображаемой строки, а затем, зная количество элементов, отображаемых на странице, рассчитать номер страницы.

Из документации:
"... Paginator также может управляться через модель с использованием привязки к первому свойству, когда изменения вызывают разбиение на страницы. Необязательно это свойство поддерживает двустороннюю привязку, так что значение модели может также обновляться при разбивке на страницы. Вот пример сброса внешне. ",

"... first - нулевой относительный номер первой отображаемой строки.", ( https://www.primefaces.org/primeng/, https://www.primefaces.org/primeng/)

шаблон:

<p-dataTable [value]="cars" [rows]="10" [paginator]="true" [(first)]="first">
    <p-column field="vin" header="Vin"></p-column>
    <p-column field="year" header="Year"></p-column>
    <p-column field="brand" header="Brand"></p-column>
    <p-column field="color" header="Color"></p-column>
</p-dataTable>

<button type="button" (click)="reset()" label="Reset"></button>

код:

export class DataTableDemo implements OnInit {

    cars: Car[];

    first: number = 0;

    constructor(private carService: CarService) { }

    ngOnInit() {
        this.carService.getCarsSmall().then(cars => this.cars = cars);
    }

    reset() {
        this.first = 0;
    }
}

Как указано в документации, обязательным [(first)] к переменной в вашем компоненте вы также обновляете свою переменную при изменении состояния пагинации, так что вы можете рассчитать номер страницы следующим образом pageNumber = offset/itemsPerPage

Использование <p-paginator> эта метка имеет функцию onPageChange() . Вы можете получить номер страницы в этой функции

используйте [lazy] = "true" (onLazyLoad) = "loadCustomers ($ event)"

{первый}

разделите первое на количество элементов, отображаемых в коде, вы получите номер страницы

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