我试图创建一种方法来显示每个页面的元素数,例如:
Page1: 1-5元素的327 Page2: 6-10元素的327 .
现在我有机会访问nextPage、previousPage、lastPage、firstPage,也可以选择每个页面的元素数(例如,5、10、20) (this.elementsForPage)。
我试着用这种方式来创造:
if(action === "next"){
this.firstElement += parameters.length
this.lastElement += parameters.length
}
if(action === "previous"){
this.firstElement -= parameters.length
this.lastElement -= parameters.length
}
if(action === "last"){
this.firstElement = this.totalElements - this.parameters.length
this.lastElement = this.totalElements
}
if(action === "first"){
this.firstElement = 1;
this.lastElement = parameters.length
}这是可行的,如果我做下一个,前一个和第一个。但如果我读到最后一页的话就没用了。
这就是为什么如果我转到最后一页,它只有两个结果,例如,我将
firstElement = 327 -2= 325 lastElement = 327
但如果我继续说“以前的”,那是很重要的:
firstElement =325-5= 320 lastElement = 327 -5= 322
这是错误的,因为是显示5个结果,而不是2。
在你看来,我该如何解决这些问题?
发布于 2022-06-14 13:40:09
这一功能
function getCurrentPageItems(currentPage,perPage,total)
{
currentPage = currentPage - 1;
let elStart = currentPage*perPage +1;
let elEnd = elStart+perPage - 1;
elEnd = Math.min(Math.max(elEnd, 1), total);
console.log(`Page ${(currentPage+1)}: ${elStart}-${elEnd} of ${total}`);
return [elEnd,elEnd];
}
getCurrentPageItems(1,5,327);
getCurrentPageItems(2,5,327);
getCurrentPageItems(65,5,327);
getCurrentPageItems(66,5,327);
console.log(327/5);
https://stackoverflow.com/questions/72617733
复制相似问题