element-ui官网上有分页实现的功能,简单方便又好用,也有很多分页的样式,你可以根据需要去选择自己想要的样式。这里讲的是完整功能样式的一个分页实现。过程如下:文章来源:https://www.toymoban.com/news/detail-538937.html
一、写一个table,并添加分页
<template>
<div class="table-box">
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="date" label="日期" width="180">
</el-table-column>
<el-table-column prop="name" label="姓名" width="180">
</el-table-column>
<el-table-column prop="phone" label="手机号">
</el-table-column>
<el-table-column prop="address" label="地址">
</el-table-column>
</el-table>
<div class="paginationBlock">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[5,10, 20, 30, 40, 50,100]" :page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="total">
</el-pagination>
</div>
</div>
</template>
二、定义分页数据
data() {
return {
tableData:[],
total: 0,
currentPage: 1,
pageSize: 5,
}
},
三、引入接口,定义获取数据的方法和分页触发的方法
<script>
//接口名称自定义
import { getTableListApi } from '@/api/demoApi/tableDemoApi'
export default {
name: 'pagination-demo',
data() {
return {
tableData:[],
total: 0,
currentPage: 1,
pageSize: 5,
}
},
created() {
//获取列表数据
this.getTableList()
},
methods: {
getTableList() {
let data = {
pageIndex: this.currentPage,
pageSize: this.pageSize,
}
getTableListApi(data).then((res) => {
this.tableData = res.result
this.total = res.total
this.currentPage = res.pageIndex
this.pageSize = res.pageSize
})
},
handleSizeChange(val) {
this.pageSize = val
this.currentPage = 1
this.getTableList()
},
handleCurrentChange(val) {
this.currentPage = val
this.getTableList()
},
},
}
</script>
分页方法完成。文章来源地址https://www.toymoban.com/news/detail-538937.html
到了这里,关于vue使用element-ui实现分页功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!