|
|
|
@ -1,6 +1,7 @@ |
|
|
|
<template> |
|
|
|
<div :class="{ 'hidden': hidden }" class="pagination-container"> |
|
|
|
<el-pagination |
|
|
|
v-if="pageShow" |
|
|
|
:background="background" |
|
|
|
v-model:current-page="currentPage" |
|
|
|
v-model:page-size="pageSize" |
|
|
|
@ -17,6 +18,8 @@ |
|
|
|
<script setup> |
|
|
|
import { scrollTo } from '@/utils/scroll-to' |
|
|
|
|
|
|
|
const pageShow = ref(true); |
|
|
|
|
|
|
|
const props = defineProps({ |
|
|
|
total: { |
|
|
|
required: true, |
|
|
|
@ -77,6 +80,12 @@ const pageSize = computed({ |
|
|
|
} |
|
|
|
}) |
|
|
|
function handleSizeChange(val) { |
|
|
|
if (currentPage.value * val > props.total) { |
|
|
|
pageShow.value = false; |
|
|
|
nextTick(() => { |
|
|
|
pageShow.value = true |
|
|
|
}) |
|
|
|
} |
|
|
|
emit('pagination', { page: currentPage.value, limit: val }) |
|
|
|
if (props.autoScroll) { |
|
|
|
scrollTo(0, 800) |
|
|
|
|