Pagination Bar Pagination bar provides navigation through datasets
install yarn add @clayui/pagination-bar version use import PaginationBar, {ClayPaginationBarWithBasicItems} from '@clayui/pagination-bar';
import { Provider } from '@clayui/core' ;
import PaginationBar from '@clayui/pagination-bar' ;
import { ClayPaginationWithBasicItems } from '@clayui/pagination' ;
import Button from '@clayui/button' ;
import Icon from '@clayui/icon' ;
import React from 'react' ;
import '@clayui/css/lib/css/atlas.css' ;
export default function App ( ) {
return (
< Provider spritemap ="/public/icons.svg" >
< div className ="p-4" >
< PaginationBar >
< PaginationBar .DropDown
items ={ [
{
label : '10' ,
onClick : ( ) => { } ,
} ,
] }
trigger ={
< Button displayType ="unstyled" >
{ '10 items per page' }
< Icon symbol ="caret-double-l" />
</ Button >
}
/>
< PaginationBar .Results >
Showing a handful of items...
</ PaginationBar .Results >
< ClayPaginationWithBasicItems
defaultActive ={ 1 }
ellipsisProps ={ { 'aria-label' : 'More' , title : 'More' } }
totalPages ={ 10 }
/>
</ PaginationBar >
</ div >
</ Provider >
) ;
}
import { Provider } from '@clayui/core' ;
import { ClayPaginationBarWithBasicItems } from '@clayui/pagination-bar' ;
import React , { useState } from 'react' ;
import '@clayui/css/lib/css/atlas.css' ;
export default function App ( ) {
const [ delta , setDelta ] = useState ( 4 ) ;
const deltas = [
{
href : '#1' ,
label : 1 ,
} ,
{
label : 2 ,
} ,
{
href : '#3' ,
label : 3 ,
} ,
{
label : 4 ,
} ,
] ;
return (
< Provider spritemap ="/public/icons.svg" >
< div className ="p-4" >
< ClayPaginationBarWithBasicItems
defaultActive ={ 1 }
activeDelta ={ delta }
deltas ={ deltas }
ellipsisBuffer ={ 3 }
ellipsisProps ={ { 'aria-label' : 'More' , title : 'More' } }
onDeltaChange ={ setDelta }
totalItems ={ 21 }
/>
</ div >
</ Provider >
) ;
}
import { Provider } from '@clayui/core' ;
import { ClayPaginationBarWithBasicItems } from '@clayui/pagination-bar' ;
import React , { useState } from 'react' ;
import '@clayui/css/lib/css/atlas.css' ;
export default function App ( ) {
const [ delta , setDelta ] = useState ( 5 ) ;
return (
< Provider spritemap ="/public/icons.svg" >
< div className ="p-4" >
< ClayPaginationBarWithBasicItems
activeDelta ={ delta }
defaultActive ={ 1 }
ellipsisBuffer ={ 3 }
ellipsisProps ={ { 'aria-label' : 'More' , title : 'More' } }
onDeltaChange ={ setDelta }
showDeltasDropDown ={ false }
totalItems ={ 21 }
/>
</ div >
</ Provider >
) ;
}
API Reference Loading API references...import PaginationBar , { ClayPaginationBarWithBasicItems } from ' @clayui/pagination-bar ' ;
({ active, activeDelta, activePage, alignmentPosition, defaultActive, deltas, disabledPages, disableEllipsis, ellipsisBuffer, ellipsisProps, hrefConstructor, labels, onActiveChange, onDeltaChange, onPageChange, showDeltasDropDown, spritemap, totalItems, ...otherProps }: IProps) => any
Parameters Properties active number | undefined
Sets the currently active page (controlled).
activeDelta number | undefined
The value of delta that is currently selected
Deprecated activePage number | undefined
Initialize the page that is currently active. The first page is 1.
alignmentPosition number | AlignPoints | undefined
Sets the default DropDown position of the component. The component
receives the Align constant values from the @clayui/drop-down package.
defaultActive number | undefined = 1
Sets the default active page (uncontrolled).
deltas Array < IDelta > | undefined = [{"label":10},{"label":20},{"label":30},{"label":50}]
Possible values of items per page.
disableEllipsis boolean | undefined
Flag to disable ellipsis button
disabledPages Array < number > | undefined
The page numbers that should be disabled. For example, [2,5,6].
ellipsisBuffer number | undefined
The number of pages to show on each side of the active page before
using an ellipsis dropdown.
ellipsisProps Object | undefined
Properties to pass to the ellipsis trigger.
hrefConstructor ((page?: number) => string) | undefined
Function used to create the href provided for each page link.
labels { itemsPerPagePickerAriaLabel?: string; paginationResults: string; perPageItems: string; selectPerPageItems: string; } | undefined= {"itemsPerPagePickerAriaLabel":"Items Per Page","paginationResults":"Showing {0} to {1} of {2}","perPageItems":"{0} items","selectPerPageItems":"{0} items"}
Labels for changing some texts inside the component.
Use this property for i18n.
onActiveChange InternalDispatch < number > | undefined
Callback called when the state of the active page changes (controlled).
This is only used if an href is not provided.
onDeltaChange ((page: number) => void) | undefined
Callback for when the number of elements per page changes. This is only used if
an href is not provided.
Deprecated onPageChange ((page: number) => void) | undefined
Callback for when the active page changes. This is only used if
an href is not provided.
showDeltasDropDown boolean | undefined = true
Flags indicating if the DropDown should be rendered.
spritemap string | undefined
Path to spritemap from clay-css.
The total number of items in the pagination list.
Returns any({ active , activeDelta , activePage , alignmentPosition , defaultActive , deltas , disabledPages , disableEllipsis , ellipsisBuffer , ellipsisProps , hrefConstructor , labels , onActiveChange , onDeltaChange , onPageChange , showDeltasDropDown , spritemap , totalItems , ... otherProps } : IProps ) => any
[{ "label" : 10 },{ "label" : 20 },{ "label" : 30 },{ "label" : 50 }]
(( page ?: number ) => string) | undefined
{ itemsPerPagePickerAriaLabel ?: string; paginationResults : string; perPageItems : string; selectPerPageItems : string; } | undefined
{ "itemsPerPagePickerAriaLabel" : "Items Per Page" , "paginationResults" : "Showing {0} to {1} of {2}" , "perPageItems" : "{0} items" , "selectPerPageItems" : "{0} items" }
(( page : number ) => void ) | undefined
(( page : number ) => void ) | undefined