Components / Pagination
Pagination
Explore every variant and expand each example’s formatted usage code.
Pagination
Numbered pages, selectors and compact navigation.
Usage · TSX
<Pagination
page={numbered}
pageCount={20}
onChange={setNumbered}
variant="numbered"
label="Numbered pages"
previousLabel="Previous page"
nextLabel="Next page"
/>Usage · TSX
<Pagination
page={simple}
pageCount={5}
onChange={setSimple}
variant="numbered"
navigation={false}
label="Simple page numbers"
previousLabel="Previous simple page"
nextLabel="Next simple page"
/>Usage · TSX
<Pagination
page={compact}
pageCount={5}
onChange={setCompact}
label="Result pages"
previousLabel="Previous"
nextLabel="Next"
/>Page of 101-10 of 95 items
1
Usage · TSX
{panel(minimal, setMinimal, { navigation: false })}1
Usage · TSX
{panel(minimalNavigation, setMinimalNavigation, {
info: false,
totalInfo: false,
})}1
Usage · TSX
{panel(withoutBoundaries, setWithoutBoundaries, {
boundaryButtons: false,
info: false,
totalInfo: false,
})}…Page of 101-10 of 95 items
1
Usage · TSX
{panel(combined, setCombined, { buttonCount: 3 })}Page 1 of 10
Usage · TSX
<div class="rv-pagination-layout">
<label>
Rows per page
<Dropdown
className="rv-select"
source={[
{ value: '10', label: '10' },
{ value: '25', label: '25' },
{ value: '50', label: '50' },
]}
config={{ ariaLabel: 'Rows per page' }}
value={String(size)}
onChange={(next) => {
setSize(Number(String(next)));
setTable(0);
}}
/>
</label>
<Pagination
page={table}
pageCount={Math.ceil(95 / size)}
onChange={setTable}
variant="icons"
label="Table pages"
previousLabel="Previous table page"
nextLabel="Next table page"
/>
<FieldHint>
Page {table + 1} of {Math.ceil(95 / size)}
</FieldHint>
</div>Usage · TSX
<Pagination
page={2}
pageCount={8}
onChange={() => {}}
disabled
label="Disabled pages"
previousLabel="Previous disabled page"
nextLabel="Next disabled page"
/>