現在寫的Vue+ElementUI是自己寫的是文檔上的死數據,所以在分頁上自己分割了一下,如果有接口話,會方便一點,使用的是分頁的完整功能。都差不多啦! 擼起來
<template> <div> <el-table :data="tableData.slice((limitePage.page-1)*limitePage.limit,limitePage.limit*limitePage.page)" border style="width: 100%"> <el-table-column fixed prop="date" label="日期" width="150"> </el-table-column> <el-table-column prop="name" label="姓名" width="120"> </el-table-column> <el-table-column prop="province" label="省份" width="120"> </el-table-column> <el-table-column prop="city" label="市區" width="120"> </el-table-column> <el-table-column prop="address" label="地址" width="300"> </el-table-column> <el-table-column prop="zip" label="郵編" width="120"> </el-table-column> <el-table-column fixed="right" label="操作" width="100"> <template slot-scope="scope"> <el-button @click="handleClick(scope.row)" type="text" size="small" v-if="scope.row.date != '2016-05-02'" >查看</el-button > <el-button type="text" size="small">編輯</el-button> </template> </el-table-column> </el-table> <div class="block"> <span class="demonstration"></span> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="limitePage.page" :page-sizes="[2, 4]" :page-size="limitePage.limit" layout="total, sizes, prev, pager, next, jumper" :total="tableData.length" > </el-pagination> </div> </div> </template> <script> export default { data() { return { tableData: [ { date: "2016-05-03", name: "王小虎", province: "上海", city: "普陀區", address: "上海市普陀區金沙江路 1518 弄", zip: 200333 }, { date: "2016-05-02", name: "王小虎", province: "上海", city: "普陀區", address: "上海市普陀區金沙江路 1518 弄", zip: 200333 }, { date: "2016-05-04", name: "王小虎", province: "上海", city: "普陀區", address: "上海市普陀區金沙江路 1518 弄", zip: 200333 }, { date: "2016-05-01", name: "王小虎", province: "上海", city: "普陀區", address: "上海市普陀區金沙江路 1518 弄", zip: 200333 }, ], limitePage:{ limit:2, page:1 } }; }, methods: { handleClick(row) { console.log(row); }, handleSizeChange(val) { this.limitePage.limit = val; }, handleCurrentChange(val) { this.limitePage.page = val } } }; </script> <style> </style>
其實上面的代碼都是復制粘貼的 …………
需要注意的幾點是在分頁組件上寫的幾個屬性
total :代表的是數據的總長度
page-size:代表的是每一頁數據的長度
current-page:代表當前頁數
page-sizes:每頁顯示個數選擇器
注意的方法:
size-change:pageSize 改變時會觸發(就是選擇多少條一頁下拉框觸發)
current-change:currentPage 改變時會觸發 (就是選擇頁碼觸發)
至於limit 和page寫在一個對象里,是為直接傳參調取后台接口,這樣寫不寫 都ok,看你這么方便怎么來咯
這里的分頁由於是死數據 所以在table 寫了一個slice 實現的分頁
如果有后台接口,直接傳步長和頁數 后台就會返給你 不需要slice分頁