Skip to main content

Pager

Pager handles pagination. You give it an array and a page size; it renders the current page's slice through a function child and shows a navigation bar. It works client-side (slicing items) or server-side (pass totalItems and fetch on onPageChange).

When to use

  • Paginate any list where you'd rather show pages than infinite scroll.
  • Server-driven data where only one page is loaded at a time.
Inside DataTable

DataTable has a built-in pager — set enablePager. Use this standalone Pager for your own lists.

Import

import { Pager } from '@spartanfx/react';

Client-side paging

Pass the full items array; Pager slices it and hands you itemsOnPage.

<Pager items={allRows} numberOfItemsPerPage={10}>
{(itemsOnPage) => (
<ul>
{itemsOnPage.map((row) => (
<li key={row.id}>{row.name}</li>
))}
</ul>
)}
</Pager>

Server-side paging

Load one page at a time: pass that page as items, the real totalItems, and fetch in onPageChange.

<Pager
items={currentPageRows}
numberOfItemsPerPage={25}
totalItems={serverTotal}
onPageChange={(page) => fetchPage(page)}
>
{(rows) => <ResultsGrid rows={rows} />}
</Pager>

Key props

PropTypeNotes
items (required)any[]Items to paginate (full set, or the current page for server mode).
numberOfItemsPerPage (required)numberPage size.
children (required)(itemsOnPage) => ReactNodeRenders the current page.
totalItemsnumberServer-side total; overrides items.length for page count.
onPageChange(page) => voidFires on navigation — fetch server data here.
layoutPagerLayoutWhich navigation controls are shown.
appearanceAppearanceModeLight or dark theming.

See the full generated reference: Pager API ↗.

See also