Vue+element 前端获取列表全部数据再进行分页

4 篇文章 0 订阅

项目开发过程中一般会将分页组件进行封装了以后直接使用,但也有可能会有特殊情况,导致前端的分页需要自己来做。这时候我们可以直接用el-pagination来做,在表格数据获取时,对数据进行处理就可以了。代码如下

// 分页组件
<el-pagination background style="margin-top: 20px; text-align: right;"
	@size-change="handleSizeChange" @current-change="handleCurrentChange"
	:current-page="paginationData.pageIndex" :page-sizes="[10, 30, 50]" :page-size="paginationData.pageSize"
    layout="total, sizes, prev, pager, next, jumper" :total="paginationData.total"
>
</el-pagination>
// 数据储存
data() {
    return {
      paginationData: {   // 分页信息
        pageIndex: 1,
        pageSize: 10,
        total: 0
      }, 
      allData: [],  //全部表格数据
      tableData: [],  //当前页表格数据,这个绑定给el-table
    }
},
methods: {
	// 页面数量改变
	handleSizeChange(val) {
	    this.paginationData.pageSize = val
	},
	// 页码改变
	handleCurrentChange(val) {
      this.paginationData.pageIndex = val
    },
    // 全部数据获取
    getData() {
      this.$http.post(url, data).then(res => {
        // 全部数据获取
		this.allData = res
		// 表格数据截取
		this.tableData = this.allData.slice((this.paginationData.pageIndex - 1)*this.paginationData.pageSize,this.paginationData.pageIndex*this.paginationData.pageSize)
		this.paginationData.total = this.allData.length
		this.tableData.forEach((el, i) => {
			el.$index = (this.paginationData.pageIndex - 1) * this.paginationData.pageSize + 1 + i;
		});
	  })
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值