@alicloud/console-base-rc-pagination
Version:
43 lines (41 loc) • 899 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = generatePageList;
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;
}