@tcoldmf/react-bootstrap-pagination
Version:
A React component to render and manage Bootstrap 4 pagination quickly and easily
129 lines (102 loc) • 4.77 kB
Markdown
[](https://nodei.co/npm/react-bootstrap-4-pagination/)
# react-bootstrap-4-pagination
**A React component to render and manage Bootstrap 4 pagination quickly and easily.**
Your project must have [Bootstrap 4](https://getbootstrap.com/docs/4.0/getting-started/introduction/) in order to properly render the component
Check [Live example](https://codesandbox.io/s/react-bootstrap-4-pagination-12efe)
## Installation
Install `react-bootstrap-4-pagination` with [npm](https://www.npmjs.com/):
```
$ npm install react-bootstrap-4-pagination
```
## Usage
Very easy to use. Just provide props with total amount of things that you want to display on the page.
#### With href
```js
import React from 'react';
import Pagination from 'react-bootstrap-4-pagination';
let paginationConfig = {
totalPages: 22,
currentPage: 15,
showMax: 5,
size: "lg",
threeDots: true,
prevNext: true,
href: 'https://example.com/items?page=*', // * will be replaced by the page number
pageOneHref: 'https://example.com/items',
borderColor: 'red',
activeBorderColor: 'black',
activeBgColor: 'grey',
disabledBgColor: 'red',
activeColor: 'red',
color: 'purple',
disabledColor: 'green',
circle: true,
shadow: true
};
function App() {
return (
<div className="App">
<Pagination {...paginationConfig} />
</div>
);
}
export default App;
```
#### With function
```js
import React from 'react';
import Pagination from 'react-bootstrap-4-pagination';
let paginationConfig = {
totalPages: 7,
currentPage: 3,
showMax: 5,
size: "lg",
threeDots: true,
prevNext: true,
onClick: function (page) {
console.log(page);
}
};
function App() {
return (
<div className="App">
<Pagination {...paginationConfig} />
</div>
);
}
export default App;
```
## Params
Name | Type | Default | Description
--- | --- | --- | --- |
`totalPages` | Number | | **Required.** Total number of pages.
`currentPage` | Number | `1` | Current page
`showMax` | Number | 5 | Total page items to display excluding navigation blocks (prev, next, first, last pages)
`onClick` | Function | | Page item click handler. Receive pageNumber as arg. If you pass onClick prop, href prop will stop having effect
`size` | String | `md` | Pagination component size. Options: `sm` `lg`
`prevNext` | Boolean | `true` | Set to `false` if you don't want to show next and prev navigation buttons
`firstLast` | Boolean | `false` | Set to `true` if you want to show first and last navigation buttons
`prevText` | String | `⟨` | Text of prev page navigation button
`nextText` | String | `⟩` | Text of prev page navigation button
`firstText` | String | `⟨⟨` | Text of first page navigation button
`lastText` | String | `⟩⟩` | Text of last page navigation button
`href` | String | | Href template. Example: `https://example.com/items?page=*&sessionId=Khf3124nfj` * will be replaced by the page item number
`pageOneHref` | String | | Href template for first page. Example: `https://example.com/items?sessionId=Khf3124nfj` if pageOneHref is not set, page one links will have the href template
`threeDots` | Boolean | `false` | Set to `true`if you want to show Ellipsis items
`activeClass` | String | `active` | Class name of active `<li>` tag
`disabledClass` | String | `disabled` | Class name of the first, previous, next and last `<li>` tags when disabled
`center` | Boolean | `true` | Set to `false` if you don't whant to center pagination items
`activeBgColor` | String | Bootstrap default | `background-color: ` of active class page items
`activeBorderColor` | String | Bootstrap default | `border-color: ` of active class page items
`activeColor` | String | Bootstrap default | `color: ` (font color) of active class page items
`disabledBgColor` | String | Bootstrap default | `background-color: ` of disabled class page items
`disabledBorderColor` | String | Bootstrap default | `border-color: ` of disabled class page items
`disabeldColor` | String | Bootstrap default | `color: ` (font color) of disabled class page itmes
`bgColor` | String | Bootstrap default | `background-color: ` of page items that don't have active or disabled class
`borderColor` | String | Bootstrap default | `border-color: ` of page items that don't have active or disabled class
`color` | String | Bootstrap default | `color: ` (font color) of page items that don't have active or disabled class
`circle` | Boolean | `false` | Set to true if you want circular page items
`shadow` | Boolean | `false` | Set to true if you want shadow on page items
`ariaLabel` | String | `Page navigator` | `aria-label` text of nav element
## License
[MIT](https://choosealicense.com/licenses/mit/)