实习日记3

214 阅读2分钟

前言

这篇分享一个很简单但是又是几乎必用的功能:分页。

正文

一、分页相关术语
  1. offset:

    • 含义: 通常指从哪一条记录开始。例如,如果你有100条记录,offset为10意味着从第11条记录开始。
    • 用途: 在数据库查询中,offset 常与 limit 结合使用,以确定从哪里开始获取数据。
  2. limit: pageSize一样

    • 含义: 它指定了要获取的记录数。例如,limit为10意味着要获取10条记录。
    • 用途: 与 offset 结合,可以用来获取特定范围的数据。例如,offset: 10, limit: 10 将会获取第11到第20条的数据。
  3. pageIndexpageCurrent:

    • 含义: 这两个术语通常可以互换使用,都表示当前所在的页数。例如,如果每页显示10条记录,pageIndex 为 2 意味着显示第11到第20条记录。
    • 用途: 通常用于告诉后端或分页组件当前用户正在查看哪一页的数据。如果知道 pageIndex 和每页的 limit,就可以计算出 offset(offset = (pageIndex - 1) * limit)。
  4. total:

    • 含义: 表示数据的总数量。例如,如果你在数据库中有100条记录,total 就是100。
    • 用途: 用于计算总页数,显示在前端的分页组件上,使用户知道有多少页。例如,如果总共有 100 条数据,每页显示 10 条数据,那么总共就有 10 页。
二、如何计算
  1. pageIndex或 pageCurrent应该是一个计算属性,监听当前点要点击的页面索引
computed: {
get() {
    return Math.floor(this.offset / this.limit) + 1
    },
set() {}
}
  1. 关于offset怎么计算,分情况:首次调用offset为0;其他情况offset的计算公式为(pageIndex - 1) * limit.