我使用得是el-table+el-pagination来实现的,
话不多说,直接上代码

html代码部分

<!-- table -->
<el-table :data="showData" stripe style="width:100%" v-loading="listLoading">
<el-table-column type="selection" width="55"></el-table-column>
<!-- <el-table-column type="index" prop="id" label="编号" width="100" sortable></el-table-column> -->
<el-table-column prop="id" label="编号" width="100" sortable></el-table-column>
<el-table-column prop="name" label="姓名" width="100" sortable></el-table-column>
<el-table-column prop="sex" label="性别" width="100" sortable></el-table-column>
<el-table-column prop="age" label="年龄" width="100" sortable></el-table-column>
<el-table-column prop="birthday" label="生日" width="120" sortable></el-table-column>
<el-table-column prop="address" label="地址" min-width="180" sortable></el-table-column>
<el-table-column label="操作">
<template scope="scope">
<!-- <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>-->
<el-button size="small" @click="handleEdit(scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table> <!-- table 传值 -->
<!-- <List :message='byValue'></List> --> <!-- 分页 paging -->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
layout="total, prev, pager, next"
background
:total="total"
></el-pagination>

JavaScript代码部分

export default {
name: "Dashbord",
components: {
Dialog
},
inject: ["reload"], //注入reload方法
data() {
return {
showData:[],
total: 0,
pageSize: 10,
listLoading: false,
currentPage:1,
};
},
created(){
this.getUsers();
this.showTable(this.currentPage,this.pageSize);
},
// mounted() {
// this.getUsers();
// },
methods: {
handleSizeChange: function (size) {
this.pageSize = size;
console.log(this.pageSize); //每页下拉显示数据
this.showTable(this.currentPage,this.pageSize);
},
handleCurrentChange: function(currentPage){
this.currentPage = currentPage;
console.log(this.currentPage); //点击第几页
this.showTable(this.currentPage,this.pageSize); },
showTable(currentPage,pageSize){
this.listLoading = true;
this.$axios({
method: "POST",
url: "http://localhost:8080/api/pagingQuery",
changeOrigin: true,
data: {
"start":currentPage,
"pageSize":pageSize
}
}).then(result => {
this.listLoading = false;
this.showData = result.data;
});
}
},
};
</script>

在el-table中,最重要的是:data,这个数据是根据你分页效果去后台请求返回的数据。
在el-pagination中,:page-size表示每页显示的数据条数;
:total:表示总的数据数量;
:page-sizes:表示我们可以自定义每页显示的数量;
:currentPage:表示当前的页码;
@size-change="handleSizeChange",@current-change="handleCurrentChange" 是el-pagination中的事件,表示每页显示的数据和页码的变化;
layout:表示分页栏的布局;
background:表示是否带背景色

需要主要的是start变量,因为在后台程序中,我使用的是limit(m,n)来进行分页查询的:

select * from list limit #{start},#{pageSize}

start表示开始查询的位置,pageSize表示从开始位置要查询的数量; 如果后台没有做start的处理,在这里我们可以在showTable方法中做处理:

currentPage = (currentPage-) * pageSize;

这样就能够正确查询数据

vue+element-ui实现分页的更多相关文章

  1. Vue+element UI实现分页组件

    介绍 这是一个是基于element-UI的分页组件基础上,进行了二次封装的分页组件,在展示数据时,该分页组件采用了每显示一页数据,只请求当前页面的数据的请求策略,从而避免了一次性将数据全部请求所造成的 ...

  2. vue + element ui 实现实现动态渲染表格

    前言:之前需要做一个页面,能够通过表名动态渲染出不同的表格,这里记录一下.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9786326.html 网站地址:我的 ...

  3. Vue+element ui table 导出到excel

    需求: Vue+element UI table下的根据搜索条件导出当前所有数据 参考: https://blog.csdn.net/u010427666/article/details/792081 ...

  4. 基于vue(element ui) + ssm + shiro 的权限框架

    zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...

  5. 分享一个自搭的框架,使用Spring boot+Vue+Element UI

    废弃,新的:https://www.cnblogs.com/hackyo/p/10453243.html 特点:前后端分离,可遵循restful 框架:后端使用Spring boot,整合了aop.a ...

  6. Vue + Element UI 实现权限管理系统

    Vue + Element UI 实现权限管理系统 前端篇(一):搭建开发环境 https://www.cnblogs.com/xifengxiaoma/p/9533018.html

  7. vue + element ui 表格自定义表头,提供线上demo

    前言:工作中用到 vue+element ui 的前端框架,需要使用自定义表头,需要使用 re.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9710826.h ...

  8. vue+element ui 的上传文件使用组件

    前言:工作中用到 vue+element ui 的前端框架,使用到上传文件,则想着封装为组件,达到复用,可扩展.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9 ...

  9. vue+element ui 的表格列使用组件

    前言:工作中用到 vue+element ui 的前端框架,有这个场景:很多表格的列有许多一样的,所以考虑将列封装为组件.转载请注明出处:https://www.cnblogs.com/yuxiaol ...

  10. vue+element ui 的tab 动态增减,切换时提示用户是否切换

    前言:工作中用到 vue+element ui 的前端框架,动态添加 Tab,删除 Tab,切换 Tab 时提示用户是否切换等,发现 element ui  有一个 bug,这里记录一下如何实现.转载 ...

随机推荐

  1. centos7.3 docker安装grafana

    一.编写docker-cmpose文件 docker-compose.yml文件如下: version: "3.3" services: grafana: image: grafa ...

  2. 2017校赛 C: 不爱学习的小W【模拟】

    题目描述 “叮铃铃”上课了,同学们都及时到了教室坐到了座位上,教室里有n行m列的座位而且刚好坐满.既然是上课,那老师叫学生回答问题就是再正常不过的事了,同样地,教室里也就有爱学习和不爱学习的学生了,爱 ...

  3. 解决PowerDesigner中DBMS选项卡为空白

    点击DBMS后面的黄色(浏览)文件图标, 找到安装目录里面PowerDesigner \Resource Files\DBMS,就可以了.

  4. [CS]C#操作word 2016-04-17 18:30 1506人阅读 评论(35) 收藏

    最近在做的项目已经改了好几版,最近这一版用到了word,当然不是直接使用word,而是使用第三方的ActiveX控件:dsoframer.ocx,此控件的使用和其他控件的使用流程没有任何区别,接下来介 ...

  5. HZOJ 连连看

    考场几乎想到了正解,然而我也不知道当时在想啥,在没有证伪的情况下只是觉得无法实现就否了…… 最后打的好象是达哥说的O(4*15*n*m),复杂度不是很会证反正T成了暴力…… 题解: 对于测试点8,9, ...

  6. Python中基于socketserver实现并发的socket

    1.基于TCP协议: 服务端: import socketserver class MyHandler(socketserver.BaseRequestHandler): def handle(sel ...

  7. jmeter循环和计数器

  8. L05 Laravel 教程 - 电商实战

    https://laravel-china.org/courses/laravel-shop https://laravel-china.org/topics/13206/laravel-shop-c ...

  9. @noi - 172@ 追捕大象

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 在一块平原上有一头大象. 平原被分成 n×m 个格子.初始时大象 ...

  10. postman 中post方式提交数据

    post方式提交数据时,把参数填写在body中而不是pOST下面的哪一行