fix: add pagination type
This commit is contained in:
parent
6831f3c347
commit
21d9724572
|
|
@ -42,20 +42,26 @@
|
|||
<script lang="ts" setup>
|
||||
import {computed} from 'vue'
|
||||
|
||||
interface PaginationPage {
|
||||
number: number
|
||||
isEllipsis: boolean
|
||||
}
|
||||
|
||||
const props = defineProps<{
|
||||
totalPages: number,
|
||||
currentPage: number
|
||||
}>()
|
||||
|
||||
function createPagination(totalPages: number, currentPage: number) {
|
||||
const pages = []
|
||||
function createPagination(totalPages: number, currentPage: number): PaginationPage[] {
|
||||
const pages: PaginationPage[] = []
|
||||
for (let i = 0; i < totalPages; i++) {
|
||||
if (
|
||||
i > 0 &&
|
||||
(i + 1) < totalPages &&
|
||||
((i + 1) > currentPage + 1 || (i + 1) < currentPage - 1)
|
||||
) {
|
||||
if (pages[i - 1] && !pages[i - 1].isEllipsis) {
|
||||
const prevPage = pages[i - 1]
|
||||
if (prevPage && !prevPage.isEllipsis) {
|
||||
pages.push({
|
||||
number: 0,
|
||||
isEllipsis: true,
|
||||
|
|
@ -63,7 +69,7 @@ function createPagination(totalPages: number, currentPage: number) {
|
|||
}
|
||||
continue
|
||||
}
|
||||
|
||||
|
||||
pages.push({
|
||||
number: i + 1,
|
||||
isEllipsis: false,
|
||||
|
|
|
|||
Loading…
Reference in New Issue