Vue 使用 Element 组件实现前端自己的分页功能

Vue 使用 Element 组件实现前端自己的分页功能

当后端没有分页的时候 用 element 中的组件分页并不能对数据进行切割 需要请求回数据后自己来做切割。

<el-table :data="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)" :height="100%" style="width: 100%">

currentPage :当前页数。
pageSize :每页的数据个数。
slice(n,m) :查找数组中两个索引之间的内容 返回新数组从n开始不含m。

<!--分页组件-->
<el-pagination
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange"
  :current-page="currentPage"
  :page-size="pageSize"
  layout="total, sizes, prev, pager, next"
  :total=total>
</el-pagination>

size-change 是pageSize 改变时会触发的函数。
current-change 是currentPage 改变时会触发的函数。

data() {
	return {
		pageSize: 10, // 默认每页展示十条数据
		currentPage: 1, // 默认当前页是第一页
		total: 0, // 初始数据总数是0
	}
}
handleSizeChange(val) {
    this.pageSize = val;
},
handleCurrentChange(val) {
    this.currentPage = val;
}

在获取数据的时候需要把数据总数 total 赋值一下。每次请求新数据的时候记得把total初始0,当前页初始1。

posted @ 2020-10-29 17:17  我是ed  阅读(388)  评论(0编辑  收藏  举报