doc: updated doc
This commit is contained in:
@@ -44,6 +44,7 @@ function getComponents() {
|
||||
{ text: 'Card', link: 'components/card.md' },
|
||||
{ text: 'Carousel', link: 'components/carousel' },
|
||||
{ text: 'Dropdown', link: '/components/dropdown' },
|
||||
{ text: 'Pagination', link: 'components/pagination' },
|
||||
{ text: 'Progress', link: 'components/progress' },
|
||||
{ text: 'Rating', link: 'components/rating' },
|
||||
{ text: 'Spinner', link: '/components/spinner' },
|
||||
@@ -57,7 +58,6 @@ function getComponents() {
|
||||
{ text: 'Navbar', link: 'components/navbar' },
|
||||
|
||||
{ text: '- Footer', link: 'components/footer' },
|
||||
{ text: '- Pagination', link: 'components/pagination' },
|
||||
{ text: '- Sidebar', link: 'components/sidebar' },
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import PaginationNavigationExample from './pagination/examples/PaginationNavigat
|
||||
import PaginationTableExample from './pagination/examples/PaginationTableExample.vue';
|
||||
import PaginationWithIconsExample from './pagination/examples/PaginationWithIconsExample.vue';
|
||||
import PaginationWithCustomTextExample from './pagination/examples/PaginationWithCustomTextExample.vue';
|
||||
import PaginationWithCustomSlice from './pagination/examples/PaginationWithCustomSlice.vue';
|
||||
</script>
|
||||
# Vue Pagination Component - Flowbite
|
||||
|
||||
@@ -12,60 +13,107 @@ import PaginationWithCustomTextExample from './pagination/examples/PaginationWit
|
||||
```vue
|
||||
<script setup>
|
||||
import { Pagination } from 'flowbite-vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const currentPage = ref(1)
|
||||
</script>
|
||||
<template>
|
||||
<Pagination></Pagination>
|
||||
<Pagination v-model="currentPage" :total-pages="100"></Pagination>
|
||||
</template>
|
||||
```
|
||||
<PaginationExample />
|
||||
|
||||
## Default with custom length
|
||||
You can use your own pages count in the row by passing props: `slice-length`
|
||||
This prop means left side and right side pages row slicing. In the example it has value `4`. So row length will be 4 + 1 + 4 pages - 9 pages.
|
||||
|
||||
```vue
|
||||
<script setup>
|
||||
import { Pagination } from 'flowbite-vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const currentPage = ref(1)
|
||||
</script>
|
||||
<template>
|
||||
<Pagination v-model="currentPage" :total-pages="100" :slice-length="4"></Pagination>
|
||||
</template>
|
||||
```
|
||||
|
||||
<PaginationExample />
|
||||
<PaginationWithCustomSlice />
|
||||
|
||||
## Pagination with navigation layout
|
||||
|
||||
```vue
|
||||
<script setup>
|
||||
import { Pagination } from 'flowbite-vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const currentPage = ref(1)
|
||||
</script>
|
||||
<template>
|
||||
<Pagination layout="navigation"></Pagination>
|
||||
<div class="flex items-center justify-center text-center">
|
||||
<Pagination v-model="currentPage" :total-pages="100" :layout="'navigation'"></Pagination>
|
||||
</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
<PaginationNavigationExample />
|
||||
|
||||
## Pagination with table layout
|
||||
To use that layout you have to pass required props:
|
||||
- `per-page`: it's items count displayed on each page.
|
||||
- `total-items`: it's the total items count.
|
||||
|
||||
And there you don't need to use `total-pages` prop.
|
||||
|
||||
```vue
|
||||
<script setup>
|
||||
import { Pagination } from 'flowbite-vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const currentPage = ref(1)
|
||||
</script>
|
||||
<template>
|
||||
<Pagination layout="table"></Pagination>
|
||||
<div class="flex items-center justify-center text-center">
|
||||
<Pagination
|
||||
v-model="currentPage"
|
||||
:layout="'table'"
|
||||
:per-page="10"
|
||||
:total-items="998"
|
||||
></Pagination>
|
||||
</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
<PaginationWithIconsExample />
|
||||
<PaginationTableExample />
|
||||
|
||||
## Pagination with icons
|
||||
|
||||
```vue
|
||||
<script setup>
|
||||
import { Pagination } from 'flowbite-vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const currentPage = ref(1)
|
||||
</script>
|
||||
<template>
|
||||
<Pagination></Pagination>
|
||||
<Pagination v-model="currentPage" :total-pages="100" show-icons></Pagination>
|
||||
</template>
|
||||
```
|
||||
|
||||
<PaginationWithCustomTextExample />
|
||||
<PaginationWithIconsExample />
|
||||
|
||||
## Pagination with custom labels
|
||||
|
||||
```vue
|
||||
<script setup>
|
||||
import { Pagination } from 'flowbite-vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const currentPage = ref(1)
|
||||
</script>
|
||||
<template>
|
||||
<Pagination></Pagination>
|
||||
<Pagination v-model="currentPage" :total-pages="100" previous-label="<<<" next-label=">>>"></Pagination>
|
||||
</template>
|
||||
```
|
||||
<PaginationWithCustomTextExample />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="vp-raw flex flex-col">
|
||||
<div class="vp-raw">
|
||||
<Pagination v-model="currentPage" :total-pages="100"></Pagination>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<div class="vp-raw flex items-center justify-center text-center">
|
||||
<Pagination
|
||||
v-model="currentPage"
|
||||
:total-pages="100"
|
||||
:layout="'table'"
|
||||
:per-page="10"
|
||||
:total-items="998"
|
||||
></Pagination>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<template>
|
||||
<div class="vp-raw">
|
||||
<Pagination v-model="currentPage" :total-pages="100" :slice-length="4"></Pagination>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { Pagination } from '../../../../src/index'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const currentPage = ref<number>(1)
|
||||
</script>
|
||||
@@ -79,7 +79,7 @@ const props = defineProps({
|
||||
},
|
||||
sliceLength: {
|
||||
type: Number,
|
||||
default: 3,
|
||||
default: 2,
|
||||
},
|
||||
previousLabel: {
|
||||
type: String,
|
||||
|
||||
Reference in New Issue
Block a user