2016-07-29 10:15:31 +08:00
---
category: Components
2022-11-09 12:28:04 +08:00
group: Navigation
2016-07-29 10:15:31 +08:00
title: Pagination
2022-11-30 20:14:41 +08:00
cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*8y_iTJGY_aUAAAAAAAAAAAAADrJ8AQ/original
2023-02-09 22:17:31 +08:00
coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*WM86SrBC8TsAAAAAAAAAAAAADrJ8AQ/original
2016-07-29 10:15:31 +08:00
---
2019-10-28 09:09:22 +08:00
A long list can be divided into several pages using `Pagination` , and only one page will be loaded at a time.
2016-07-29 10:15:31 +08:00
2016-09-10 13:43:30 +08:00
## When To Use
2016-07-29 10:15:31 +08:00
- When it will take a long time to load/render all items.
2017-09-08 09:45:56 +08:00
- If you want to browse the data by navigating through pages.
2016-07-29 10:15:31 +08:00
2022-11-09 12:28:04 +08:00
## Examples
2022-11-17 17:31:26 +08:00
<!-- prettier - ignore -->
2022-11-09 12:28:04 +08:00
< code src = "./demo/basic.tsx" > Basic< / code >
< code src = "./demo/more.tsx" > More< / code >
< code src = "./demo/changer.tsx" > Changer< / code >
< code src = "./demo/jump.tsx" > Jumper< / code >
< code src = "./demo/mini.tsx" > Mini size< / code >
< code src = "./demo/simple.tsx" > Simple mode< / code >
< code src = "./demo/controlled.tsx" > Controlled< / code >
< code src = "./demo/total.tsx" > Total number< / code >
< code src = "./demo/all.tsx" > Show All< / code >
< code src = "./demo/itemRender.tsx" > Prev and next< / code >
2022-12-06 23:14:30 +08:00
< code src = "./demo/wireframe.tsx" debug > Wireframe< / code >
2022-11-09 12:28:04 +08:00
2016-07-29 10:15:31 +08:00
## API
2019-12-26 14:37:39 +08:00
```jsx
< Pagination onChange = {onChange} total = {50} / >
2016-07-29 10:15:31 +08:00
```
2019-05-10 15:38:35 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
2019-10-28 09:09:22 +08:00
| current | Current page number | number | - | |
| defaultCurrent | Default initial page number | number | 1 | |
| defaultPageSize | Default number of data items per page | number | 10 | |
2019-11-22 10:33:34 +08:00
| disabled | Disable pagination | boolean | - | |
| hideOnSinglePage | Whether to hide pager on single page | boolean | false | |
2019-10-28 09:09:22 +08:00
| itemRender | To customize item's innerHTML | (page, type: 'page' \| 'prev' \| 'next', originalElement) => React.ReactNode | - | |
| pageSize | Number of data items per page | number | - | |
2023-02-28 10:56:06 +08:00
| pageSizeOptions | Specify the sizeChanger options | string\[] \| number\[] | \[`10` , `20` , `50` , `100` ] | |
2020-10-21 10:33:43 +08:00
| responsive | If `size` is not specified, `Pagination` would resize according to the width of the window | boolean | - | |
2019-11-22 10:33:34 +08:00
| showLessItems | Show less page items | boolean | false | |
2020-06-30 13:26:37 +08:00
| showQuickJumper | Determine whether you can jump to pages directly | boolean \| { goButton: ReactNode } | false | |
2020-07-10 15:18:40 +08:00
| showSizeChanger | Determine whether to show `pageSize` select, it will be true when `total > 50` | boolean | - | |
2019-10-28 09:09:22 +08:00
| showTitle | Show page item's title | boolean | true | |
2020-06-30 13:26:37 +08:00
| showTotal | To display the total number and range | function(total, range) | - | |
2019-10-28 09:09:22 +08:00
| simple | Whether to use simple mode | boolean | - | |
2020-06-30 13:26:37 +08:00
| size | Specify the size of `Pagination` , can be set to `small` | `default` \| `small` | `default` | |
2019-10-28 09:09:22 +08:00
| total | Total number of data items | number | 0 | |
2021-04-18 13:43:59 +08:00
| onChange | Called when the page number or `pageSize` is changed, and it takes the resulting page number and pageSize as its arguments | function(page, pageSize) | - | |
2020-06-30 13:26:37 +08:00
| onShowSizeChange | Called when `pageSize` is changed | function(current, size) | - | |
2023-03-27 15:33:22 +08:00
## Design Token
< ComponentTokenTable component = "Pagination" > < / ComponentTokenTable >