@maqe-vue/pagination
v1.0.2
Published
The Vue2 component for pagination
Downloads
109
Readme
@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
|