@maqe-vue/pagination
v1.0.2
Published
The Vue2 component for pagination
Readme
@maqe-vue/pagination
The Vue2 component for pagination
Installation
NPM
Install the npm package.
npm install @maqe-vue/pagination --saveRegister 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 |
