Vue Bootstrap Pagination
Vue Pagination - Bootstrap 4 & Material Design
Note: This documentation is for an older version of Bootstrap (v.4). A
newer version is available for Bootstrap 5. We recommend migrating to the latest version of our product - Material Design for
Bootstrap 5.
Go to docs v.5
Vue Bootstrap pagination is a component used to indicate existence of a series of related content across multiple pages and enables navigation across them.
We use a large block of connected links for our pagination, making links hard to miss and easily scalable—all while providing large hit areas. Pagination is built with list HTML elements so screen readers can announce the number of available links. We use a wrapping <nav>
element to identify it as a navigation section to screen readers and other assistive technologies.
Basic example
To create a basic pagination, add the .pagination class to an ul
element:
<template>
<mdb-pagination circle>
<mdb-page-item disabled>Previous</mdb-page-item>
<mdb-page-nav prev disabled></mdb-page-nav>
<mdb-page-item>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
<mdb-page-item>Last</mdb-page-item>
</mdb-pagination>
</template>
<script>
import { mdbPagination, mdbPageItem, mdbPageNav } from 'mdbvue';
export default {
name: 'PageLoader',
components: {
mdbPagination,
mdbPageItem,
mdbPageNav
}
}
</script>
Working with icons
Looking to use an icon or symbol in place of text for some pagination links? Be sure to provide proper screen reader support with aria
attributes and the .sr-only
utility.
<template>
<mdb-pagination>
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
</template>
<script>
import { mdbPagination, mdbPageItem, mdbPageNav } from 'mdbvue';
export default {
name: 'PageLoader',
components: {
mdbPagination,
mdbPageItem,
mdbPageNav
}
}
</script>
Disabled and active states
Pagination links are customizable for different circumstances. Use disabled
prop for links that appear un-clickable and active
to indicate the current page.
<template>
<mdb-pagination>
<mdb-page-nav prev disabled></mdb-page-nav>
<mdb-page-item>1</mdb-page-item>
<mdb-page-item active>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
</template>
<script>
import { mdbPagination, mdbPageItem, mdbPageNav } from 'mdbvue';
export default {
name: 'PageLoader',
components: {
mdbPagination,
mdbPageItem,
mdbPageNav
}
}
</script>
Sizing
Fancy larger or smaller pagination? Add lg
prop or sm
for additional sizes.
<template>
<mdb-pagination lg>
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
</template>
<script>
import { mdbPagination, mdbPageItem, mdbPageNav } from 'mdbvue';
export default {
name: 'PageLoader',
components: {
mdbPagination,
mdbPageItem,
mdbPageNav
}
}
</script>
<template>
<mdb-pagination sm>
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
</template>
<script>
import { mdbPagination, mdbPageItem, mdbPageNav } from 'mdbvue';
export default {
name: 'PageLoader',
components: {
mdbPagination,
mdbPageItem,
mdbPageNav
}
}
</script>
Shape
The way pagination "feels" can be easily altered by changing its style from rectangular to circular. Simply add circle
prop to the mdb-pagination
component.
<template>
<mdb-pagination circle>
<mdb-page-item disabled>First</mdb-page-item>
<mdb-page-nav prev disabled></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
<mdb-page-item>Last</mdb-page-item>
</mdb-pagination>
</template>
<script>
import { mdbPagination, mdbPageItem, mdbPageNav } from 'mdbvue';
export default {
name: 'PageLoader',
components: {
mdbPagination,
mdbPageItem,
mdbPageNav
}
}
</script>
Colors
To change the color of the pagination, for example, add the .pg-blue class to the ul
element.
<template>
<div>
<!--Pagination blue-->
<mdb-pagination color="blue">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination blue-->
<!--Pagination red-->
<mdb-pagination color="red">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination red-->
<!--Pagination teal-->
<mdb-pagination color="teal">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination teal-->
<!--Pagination dark-->
<mdb-pagination color="dark">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination dark-->
<!--Pagination blue grey-->
<mdb-pagination color="bluegrey">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination grey-->
<!--Pagination amber-->
<mdb-pagination color="amber">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination amber-->
<!--Pagination purple-->
<mdb-pagination color="purple">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination purple-->
<!--Pagination dark grey-->
<mdb-pagination color="darkgrey">
<mdb-page-nav prev></mdb-page-nav>
<mdb-page-item active>1</mdb-page-item>
<mdb-page-item>2</mdb-page-item>
<mdb-page-item>3</mdb-page-item>
<mdb-page-item>4</mdb-page-item>
<mdb-page-item>5</mdb-page-item>
<mdb-page-nav next></mdb-page-nav>
</mdb-pagination>
<!--/Pagination dark grey-->
</div>
</template>
<script>
import { mdbPagination, mdbPageItem, mdbPageNav } from 'mdbvue';
export default {
name: 'PageLoader',
components: {
mdbPagination,
mdbPageItem,
mdbPageNav
}
}
</script>
Vue Pagination - API
In this section you will find advanced information about the Pagination component. You will learn which modules are required in this component, what are the possibilities of configuring the component, and what events and methods you can use in working with it.
Import statement
<script>
import { mdbPagination, mdbPageNav, mdbPageItem } from 'mdbvue';
</script>
API Reference: Properties
Name | Type | Default | Description | Example |
---|---|---|---|---|
tag |
String | 'ul' |
Changes pagination's wrapper tag | <mdb-pagination tag="ul" /> |
cirlce |
Boolean | false |
Changes item style into circle | <mdb-pagination cirlce /> |
lg |
Boolean | false |
Changes pagination size | <mdb-pagination lg /> |
sm |
Boolean | false |
Changes pagination size | <mdb-pagination sm /> |
color |
String | 'blue' |
Changes item's color | <mdb-pagination color="red" /> |