@maqe-vue/pagination
@maqe-vue/pagination
The Vue2 component for pagination
Installation
NPM
Install the npm package.
npm install @maqe-vue/pagination --save
Register the component
Global
import Pagination from '@maqe-vue/pagination'
Vue.component('pagination', Pagination)
Local
<script>
import Pagination from '@maqe-vue/pagination'
export default {
components: {
Pagination
}
}
</script>
Included the style
Add the default style of component
import '@maqe-vue/pagination/dist/@maqe-vue/pagination.css'
Usage
Basic
<pagination
:totalPage="10"
:value="1"
@onPageChange="handleChange"
/>
Custom Previous and Next button
You can use slot for override original button
Slot names
| Name | Description |
|---|---|
prev |
Previous button default: "Prev" |
next |
Next button default: "Next" |
<pagination
:totalPage="10"
:value="1"
@onPageChange="handleChange"
>
<template v-slot:prev>
<font-awesome-icon :icon="['far', 'angle-left']" />
</template>
<template v-slot:next>
<font-awesome-icon :icon="['far', 'angle-right']" />
</template>
</pagination>
Custom Options
You can use property options to custom pagination type that depend on screen width
<pagination
:totalPage="10"
:value="1"
:options="{
type: 'full',
breakpoints: {
// large to small: that override smaller
1024: { // screen width is lower 1024. so, this is for tablet
type: 'compact'
},
580: { // screen width is lower 480. so, this is for mobile
type: 'simple'
}
}
}"
@onPageChange="handleChange"
/>
Custom style
You can add container class name as containerClass prop
<template>
<pagination
:totalPage="10"
:value="1"
containerClass="custom-pagination"
@onPageChange="handleChange"
>
<template v-slot:prev>
<font-awesome-icon :icon="['far', 'angle-left']" />
</template>
<template v-slot:next>
<font-awesome-icon :icon="['far', 'angle-right']" />
</template>
</pagination>
</template>
<script>
export default {
methods: {
handleChange(page) => {
console.log(page)
}
}
}
</script>
<style lang="scss">
.custom-pagination {
--vmq-pagination-color: #ddd;
}
</style>
Props and Computed
Props
| Name | Type | Description |
|---|---|---|
totalPage |
Number |
Total count of pages. default: 1 |
value |
Number |
The current page. default: 1 |
containerClass |
String |
Add container class name |
options |
Object |
|
options.type |
String |
full compact simple default: full |
options.breakpoints |
Object |
set options.type depend on screen width |
Computed
| Name |
|---|
firstPage |
lastPage |
isFirstPage |
isLastPage |
currentPage |
Related Packages
nuxt-define
One utility function for module authors to define compiler constants for all bui...
13,412,511
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.2 | ^2.6.11 | MIT | |
| 1.0.1 | ^2.6.11 | MIT | |
| 1.0.0 | ^2.6.11 | MIT |
Pre-releases (1)
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.1-beta.0 | ^2.6.11 | MIT |