1. 程式人生 > >js靜態資料分頁展示

js靜態資料分頁展示

拿vue做示例

首先定義data

data() {
    return {
      tableData: [], // 當前頁的資料,用於給表格展示用的
      tableDataAll: [], // 需要拿來分頁的總資料
      pagination: {
        totalRows: 0, //總條數
        pageSize: 10, //每頁顯示條數
        pageSizes:10,
        pageNumber: 1
      }
    }
  }

定義methods

methods: {
    currentChange(val) {
      
//頁碼改變 this.pagination.pageNumber = val; this.dataPagination(this.tableDataAll); }, sizeChange(val) { //切換每頁顯示條數 this.pagination.pageSize = val; this.dataPagination(this.tableDataAll); }, // 資料分頁 dataPagination(dataList) { if (!dataList || dataList.length <=0) { dataList
= []; this.tableData = []; } if (dataList.length <= this.maxUsePage) { this.tableData = dataList; return; } let pageNo = this.pagination.pageNumber; let pageSize = this.pagination.pageSize; var offset = (pageNo - 1) * pageSize;
this.pagination.totalRows = dataList.length; this.tableData = (offset + pageSize >= dataList.length) ? dataList.slice(offset, dataList.length) : dataList.slice(offset, offset + pageSize); } }, mounted: function() { this.$nextTick(function () { // 初始化渲染 this.pagination.pageNumber = 1 // 得到總資料tableDataAll進行分頁 this.dataPagination(this.tableDataAll); }) }