vue +element实现分页加分组

vue+element 实现分页

for (let i = 1; i <= this.total; i++) {
          if (res.data.list.length % i === 0 && this.pageSizes.length <= 10) {
            this.pageSizes.push(i)
          }
        }
这个循环是拿到数据的总数 以此判断取余数 数组的最大长度是 10 如果数据量庞大可以考虑把i换成固定的
pageData.length ===0? tableData:pageData 
利用vue的渲染方式  提供两个数据的副本  一个放全部数据  一个放所进行的分页的副本 利用三木判断 放分页的副本是否
有东西 有则渲染副本而非全部

<el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="currentPage4"
          :page-sizes="pageSizes"
          :page-size="pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="total"
        ></el-pagination>
提供分页的element组件

total: 1,
      pageSize: 0,
      pageSizes: [],
      val: 0,
      pageData: []

所需的参数
handleSizeChange(val) {
      // console.log(`每页 ${val} 条`)
      this.val = val
let a = JSON.parse(JSON.stringify(this.tableData))
      this.pageData = a.splice(0, val)
    },
对全部数据进行深拷贝  避免splice破坏数组 而造成分页完完 数据完
因为this.pageData 是一个空数组 直接把分页的结果付给他  利用vue的双向绑定来进行数据的实时更新
这里是当选择分页每页显示多少条数据以后 可以立刻进行分页
    handleCurrentChange(val) {
      let a = JSON.parse(JSON.stringify(this.tableData))
      this.pageData = a.splice(val *  this.val-  this.val,  this.val)
    }
这里a依然是对总的数据的一个深拷贝 因为之前已经保存this.val当前是一页保存多少条数据
 获取一夜显示的数据 同时利用他来进行从什么位置取到
什么位置  和取几条  位置的计算是拿当前的页数乘上当前的显示数量又因为js的数组处理是从0开始所以
应该减去这个数量 就是当前的位置  
例如   数据是[0,1,2,3,4]  一页显示2条数据 当前为第2页 它在数据中截取的位置(非js中)是 2*2 即下回从第四个数据开始
数字理应是从4开始
但是 数据默认的是 0 1 2 3 4  而非是从 1开始的这个时候会产生一个位置错位 即他是从三开始
所以要减去
this.pageData 依然是取数据 截取(当前的页数 * 当前的数量 - 1 (是因为js在位置上是从0开始的) ,截取多少数量 )
进行显示

小干货
js 对象添加 删除 修改 属性
var a={“id”:1,“name”:“danlis”};
//添加属性
a.age=18;
console.log(a);
//结果:Object { id: 1, name: “danlis”, age: 18 }
//修改属性
a.age=“我怎么知道”;
//结果:Object { id: 1, name: “danlis”, age: “我怎么知道” }
//删除属性
delete a.age;
//结果:Object { id: 1, name: “danlis” }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值