首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示分页期间的元素数。

显示分页期间的元素数。
EN

Stack Overflow用户
提问于 2022-06-14 13:21:01
回答 1查看 37关注 0票数 0

我试图创建一种方法来显示每个页面的元素数,例如:

Page1: 1-5元素的327 Page2: 6-10元素的327 .

现在我有机会访问nextPage、previousPage、lastPage、firstPage,也可以选择每个页面的元素数(例如,5、10、20) (this.elementsForPage)。

我试着用这种方式来创造:

代码语言:javascript
复制
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。

在你看来,我该如何解决这些问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-14 13:40:09

这一功能

代码语言:javascript
复制
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);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72617733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档