前言
这篇分享一个很简单但是又是几乎必用的功能:分页。
正文
一、分页相关术语
-
offset:
- 含义: 通常指从哪一条记录开始。例如,如果你有100条记录,offset为10意味着从第11条记录开始。
- 用途: 在数据库查询中,
offset常与limit结合使用,以确定从哪里开始获取数据。
-
limit: pageSize一样
- 含义: 它指定了要获取的记录数。例如,limit为10意味着要获取10条记录。
- 用途: 与
offset结合,可以用来获取特定范围的数据。例如,offset: 10, limit: 10将会获取第11到第20条的数据。
-
pageIndex 或 pageCurrent:
- 含义: 这两个术语通常可以互换使用,都表示当前所在的页数。例如,如果每页显示10条记录,
pageIndex为 2 意味着显示第11到第20条记录。 - 用途: 通常用于告诉后端或分页组件当前用户正在查看哪一页的数据。如果知道
pageIndex和每页的limit,就可以计算出offset(offset = (pageIndex - 1) * limit)。
- 含义: 这两个术语通常可以互换使用,都表示当前所在的页数。例如,如果每页显示10条记录,
-
total:
- 含义: 表示数据的总数量。例如,如果你在数据库中有100条记录,
total就是100。 - 用途: 用于计算总页数,显示在前端的分页组件上,使用户知道有多少页。例如,如果总共有 100 条数据,每页显示 10 条数据,那么总共就有 10 页。
- 含义: 表示数据的总数量。例如,如果你在数据库中有100条记录,
二、如何计算
- pageIndex或 pageCurrent应该是一个计算属性,监听当前点要点击的页面索引
computed: {
get() {
return Math.floor(this.offset / this.limit) + 1
},
set() {}
}
- 关于offset怎么计算,分情况:首次调用offset为0;其他情况offset的计算公式为(pageIndex - 1) * limit.