移动端页面经常需要分页加载数据,这里简单封装一个类,用来存放分页数据。

以下是分页的代码:

export default class Pager {

  constructor(page = 1, pageSize = 10) {
    this.page = page; //当前页
    this.pageSize = pageSize; //每页显示记录数
    this.rows = []; //当前页数据 
    this.fullRows = []; //全部数据
    this.moreFlag = true; //是否还有下一页
  }

  setPageData(rows) {
    this.rows = rows;
    this.fullRows = this.fullRows.concat(rows);
    if (rows.length > 0) {
      this.page += 1;
    }
    if (rows.length < this.pageSize) {
      this.moreFlag = false
    }
  }

  offset() { //当前页的偏移量
    return (this.page - 1) * this.pageSize
  }
}


使用方式:

let pager=new Pager();

finder.findPageData(pager.offset()); //查询第一页

pager.setPageData(pageRows); //填充数据

finder.findPageData(pager.offset()); //填充下一页

pager.setPageData(pageRows); //填充数据