zent
Version:
一套前端设计语言和基于React的实现
23 lines (22 loc) • 715 B
JavaScript
export function getPageRange(options) {
var pageSize = options.pageSize, total = options.total, current = options.current, startDelta = options.startDelta, endDelta = options.endDelta;
var totalPages = Math.ceil(total / pageSize);
var start = 1 + (startDelta || 0);
var end = totalPages + (endDelta || 0);
var min = Math.max(start, current - 2);
var max = Math.min(current + 2, end);
var len = max - min + 1;
if (len < 5) {
var delta = 5 - len;
if (min > start) {
min = Math.max(start, min - delta);
}
if (max < end) {
max = Math.min(max + delta, end);
}
}
return {
min: min,
max: max,
};
}