UNPKG

yunzai-micro-plugin

Version:

Yunzai开发管理面板

50 lines (48 loc) 1.12 kB
class Pager { $list; $pageNum; $pageSize; constructor(list, pageNum, pageSize) { this.$list = list; this.$pageNum = pageNum; this.$pageSize = pageSize; } get pageNum() { return this.$pageNum; } set pageNum(pageNum) { this.$pageNum = pageNum; } get pageSize() { return this.$pageSize; } set pageSize(pageSize) { this.$pageSize = pageSize; } get records() { return [...this.$list].splice(this.offset, this.$pageSize); } get offset() { let current = this.$pageNum; if (current <= 1) { return 0; } return Math.max((current - 1) * this.$pageSize, 0); } get maxNum() { return Math.ceil(this.total / this.$pageSize); } get total() { return this.$list.length; } toJSON() { return { pageNum: this.$pageNum, pageSize: this.$pageSize, total: this.total, maxNum: this.maxNum, records: this.records, }; } } export { Pager as default };