UNPKG

@alicloud/console-base-rc-pagination

Version:
37 lines (36 loc) 798 B
export default function generatePageList(page, pages, maxPageButton) { var arr = []; if (pages <= maxPageButton) { for (var i = 1; i <= pages; i++) { arr.push(i); } return arr; } arr.push(1); // 除去第一页,最后一页以及当前页,剩下的页数 var othersCount = maxPageButton - 3; var halfCount = Math.round(othersCount / 2); var start; var end; start = page - halfCount; end = page + halfCount; if (start <= 1) { start = 2; end = start + othersCount; } if (start > 2) { arr.push('...'); } if (end >= pages - 1) { end = pages - 1; start = pages - 1 - othersCount; } for (var j = start; j <= end; j++) { arr.push(j); } if (end < pages - 1) { arr.push('...'); } arr.push(pages); return arr; }