diff --git a/components/PaginationNumber.js b/components/PaginationNumber.js index a42c5a06..958fa06c 100644 --- a/components/PaginationNumber.js +++ b/components/PaginationNumber.js @@ -57,33 +57,32 @@ function getPageElement (page, currentPage) { } function generatePages (page, currentPage, totalPage) { const pages = [] - const startPage = 1 // 分组开始页码 - const groupCount = 5 // 页码分组 - if (totalPage <= 10) { + const groupCount = 7 // 最多显示页签数 + if (totalPage <= groupCount) { for (let i = 1; i <= totalPage; i++) { pages.push(getPageElement(i, page)) } } else { pages.push(getPageElement(1, page)) - - let pageLength = 0 - if (groupCount + startPage > totalPage) { - pageLength = totalPage - } else { - pageLength = groupCount + startPage + const dynamicGroupCount = groupCount - 2 + let startPage = currentPage - 2 + if (startPage < 0) { + startPage = 2 } - - if (currentPage >= groupCount) { + if (startPage + dynamicGroupCount > totalPage) { + startPage = totalPage - dynamicGroupCount + } + if (startPage > 2) { pages.push(