赞
踩
- "element-ui": "^2.5.4",
- "vue": "^2.5.2",
- "vue-router": "^3.0.7"
2.1、 src目录下,新建文件夹 mixins,此目录下新建文件 initPagin.js文件(目录名、文件名自定义)
目录如下:
initPagin.js 文件内容如下:
export default { data() { return { total: 0, // 总条数 pageSize: 10, // 每页显示条数 currentPage: 1, // 当前页数 sizesArray: [10, 20, 50, 100] // 可选择的页数 } }, methods: { // 改变页数 handleCurrentChange(val) { this.currentPage = val; }, // 改变条数 handleSizeChange(val) { this.pageSize = val; } } }
3.1、组件中添加分页标签 <el-pagination>, 并引入 initPagin.js 文件, 即可直接 this.total 使用混入中定义的属性和方法, 注意 <el-table> 中为表格赋值时, 使用了 数组的 slice() 方法实现本地分页(slice() 方法不会影响原数组大小 ), Element-ui官网参考这里,示例如下:
- <template>
- ...
- <el-table
- :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
- v-loading="loading"
- highlight-current-row
- :header-cell-style="{background:'#f7f7f7'}"
- >
- <el-table-column prop="startDate" label="起始时间" align="center" min-width="100"></el-table-column>
- <el-table-column prop="endDate" label="结束时间" align="center"></el-table-column>
- <el-table-column prop="value" label="流量峰值(M)" align="center" sortable min-width="150"></el-table-column>
- </el-table>
-
- <el-pagination
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- :current-page="currentPage"
- background
- layout="total, sizes, prev, pager, next"
- :total="total"
- :page-size="pageSize"
- :page-sizes="sizesArray"
- ></el-pagination>
-
- ...
- </template>
-
- <script>
- import initPagin from '@/mixins/initPagin.js';
- export default {
- mixins: [initPagin],
- data() {
- tableData: []
- ...
- }
- }
-
- </script>

写给自己的随笔,有问题欢迎指出ψ(*`ー´)ψ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。