前端分页列表删除当前pageNum数据后为空列表,返回上一页pageNum

文章描述了一个JavaScript函数,用于处理前端分页列表中删除指定数量数据后,如何自动计算并返回上一页或保持在首页的逻辑。通过给定的参数如总页数、当前页、每页大小和删除数量,函数动态调整新的页码。
/**
 * @function 前端分页列表删除当前pageNum数据后为空列表,返回上一页pageNum
 * @param {number} total 删除前总页数
 * @param {number} pageNum 删除前pageNum
 * @param {number} pageSize 删除前pageSize
 * @param {number} delNum 删除多少条
 */
const calcPageNum = (total: number, pageNum = 1, pageSize = 10, delNum = 1) => {
  const restNum = total - pageSize * (pageNum - 1)
  let pageNumDiff = Math.floor((delNum - restNum) / pageSize) + 1
  pageNumDiff < 0 && (pageNumDiff = 0)
  pageNum = pageNum - pageNumDiff
  pageNum < 1 && (pageNum = 1)
  return pageNum
}

let newPageNum = calcPageNum(3, 2, 10, 3) // 总数3 当前页2 一页10条 删除当前页3条数据
console.log(newPageNum) // 1 删除后当前页数组为空 返回上一页
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值