当前位置:   article > 正文

Element + Vue 实现表格本地分页(涉及标签 'el-pagination' 和 Vue的 mixins混入属性)_el-pagination本地数组分页

el-pagination本地数组分页

一、版本说明

  1. "element-ui": "^2.5.4",
  2. "vue": "^2.5.2",
  3. "vue-router": "^3.0.7"

 


二、封装 mixins 需要的文件,即分页中需要的属性 和 方法

2.1、 src目录下,新建文件夹 mixins,此目录下新建文件 initPagin.js文件(目录名、文件名自定义)    

 

目录如下:

 


initPagin.js  文件内容如下:

  1. export default {
  2. data() {
  3. return {
  4. total: 0, // 总条数
  5. pageSize: 10, // 每页显示条数
  6. currentPage: 1, // 当前页数
  7. sizesArray: [10, 20, 50, 100] // 可选择的页数
  8. }
  9. },
  10. methods: {
  11. // 改变页数
  12. handleCurrentChange(val) {
  13. this.currentPage = val;
  14. },
  15. // 改变条数
  16. handleSizeChange(val) {
  17. this.pageSize = val;
  18. }
  19. }
  20. }

 


三、组件中引入混入,mixins:[xxxxx] 即可

3.1、组件中添加分页标签 <el-pagination>,      并引入  initPagin.js  文件,      即可直接 this.total 使用混入中定义的属性和方法,      注意 <el-table> 中为表格赋值时,      使用了 数组的 slice() 方法实现本地分页(slice()  方法不会影响原数组大小 ),     Element-ui官网参考这里,示例如下:

 

  1. <template>
  2. ...
  3. <el-table
  4. :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
  5. v-loading="loading"
  6. highlight-current-row
  7. :header-cell-style="{background:'#f7f7f7'}"
  8. >
  9. <el-table-column prop="startDate" label="起始时间" align="center" min-width="100"></el-table-column>
  10. <el-table-column prop="endDate" label="结束时间" align="center"></el-table-column>
  11. <el-table-column prop="value" label="流量峰值(M)" align="center" sortable min-width="150"></el-table-column>
  12. </el-table>
  13. <el-pagination
  14. @size-change="handleSizeChange"
  15. @current-change="handleCurrentChange"
  16. :current-page="currentPage"
  17. background
  18. layout="total, sizes, prev, pager, next"
  19. :total="total"
  20. :page-size="pageSize"
  21. :page-sizes="sizesArray"
  22. ></el-pagination>
  23. ...
  24. </template>
  25. <script>
  26. import initPagin from '@/mixins/initPagin.js';
  27. export default {
  28. mixins: [initPagin],
  29. data() {
  30. tableData: []
  31. ...
  32. }
  33. }
  34. </script>

 

四、本地分页显示效果

 

 

写给自己的随笔,有问题欢迎指出ψ(*`ー´)ψ

 

 

 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号