docs/public/4.0/data-table-pagination.html
A component to show pagination for data table.
import * as React from 'react';
import { DataTable } from 'react-native-paper';
const numberOfItemsPerPageList = [2, 3, 4];
const items = [
{
key: 1,
name: 'Page 1',
},
{
key: 2,
name: 'Page 2',
},
{
key: 3,
name: 'Page 3',
},
];
const MyComponent = () => {
const [page, setPage] = React.useState(0);
const [numberOfItemsPerPage, onItemsPerPageChange] = React.useState(numberOfItemsPerPageList[0]);
const from = page * numberOfItemsPerPage;
const to = Math.min((page + 1) * numberOfItemsPerPage, items.length);
React.useEffect(() => {
setPage(0);
}, [numberOfItemsPerPage]);
return (
<DataTable>
<DataTable.Pagination
page={page}
numberOfPages={Math.ceil(items.length / numberOfItemsPerPage)}
onPageChange={page => setPage(page)}
label={`${from + 1}-${to} of ${items.length}`}
showFastPaginationControls
numberOfItemsPerPageList={numberOfItemsPerPageList}
numberOfItemsPerPage={numberOfItemsPerPage}
onItemsPerPageChange={onItemsPerPageChange}
selectPageDropdownLabel={'Rows per page'}
/>
</DataTable>
);
};
export default MyComponent;
page (required)
Type: number
The currently visible page (starting with 0).
numberOfPages (required)
Type: number
The total number of pages.
onPageChange (required)
Type: (page: number) => void
Function to execute on page change.
showFastPaginationControls
Type: boolean
Default value: false
Whether to show fast forward and fast rewind buttons in pagination. False by default.
numberOfItemsPerPage
Type: number
The current number of rows per page.
numberOfItemsPerPageList
Type: Array<number>
Options for a number of rows per page to choose from.
onItemsPerPageChange
Type: (numberOfItemsPerPage: number) => void
The function to set the number of rows per page.
label
Type: React.ReactNode
Label text to display which indicates current pagination.
accessibilityLabel
Type: string
AccessibilityLabel for label.
selectPageDropdownLabel
Type: React.ReactNode
Label text for select page dropdown to display.
selectPageDropdownAccessibilityLabel
Type: string
AccessibilityLabel for selectPageDropdownLabel.
style
Type: StyleProp<ViewStyle>
theme
Type: ReactNativePaper.Theme