vue+node+elementUI实现分页功能
第1===》收集当前页码 和 每页显示条数
第2==》发送ajax请求页码 和 每页显示条数发送给后端
<div style="margin-top: 20px; text-align: left;">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[1, 3, 5, 10, 20, 50]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
</div>
// 数据
data() {
return { currentPage: 1, // 当前页
total: 0, // 数据总条数
pageSize: 3 // 每页条数
};
},
methods:{
// 按照分页显示数据的函数
getAccountListByPage() {
// 收集当前页码 和 每页显示条数
let pageSize = this.pageSize;
let currentPage = this.currentPage;
// 发送ajax请求 把分页数据发送给后端
this.axios
.get("http://127.0.0.1:666/account/accountlistbypage", {
params: {
pageSize,
currentPage
}
})
.then(response => {
console.log("对应页码的数据:", response.data);
// 接收后端返回的数据总条数 total 和 对应页码的数据 data
let { total, data } = response.data;
// 赋值给对应的变量即可
this.total = total;
this.accountTableData = data;
// 如果当前页没有数据 且 排除第一页
if (!data.length && this.currentPage !== 1) {
// 页码减去 1
this.currentPage -= 1;
// 再调用自己
this.getAccountListByPage();
}
})
.catch(err => {
console.log(err);
});
},
// 每页显示条数改变 就会触发这个函数
handleSizeChange(val) {
// 保存每页显示的条数
this.pageSize = val;
// 调用分页函数
this.getAccountListByPage();
},
// 当前页码改变 就会触发这个函数
handleCurrentChange(val) {
// 保存当前页码
this.currentPage = val;
// 调用分页函数
this.getAccountListByPage();
},
}
后端用node写的代码 /*
按分页显示账号列表的路由 /accountlistbypage
*/
router.get("/accountlistbypage", (req, res) => {
// 接收前端参数
let { pageSize, currentPage } = req.query;
// 默认值
pageSize = pageSize ? pageSize : 3;
currentPage = currentPage ? currentPage : 1; // 构造sql语句 (查询所有数据 按照时间排序)
let sqlStr = `select * from account order by ctime desc`;
// 执行sql语句
connection.query(sqlStr, (err, data) => {
if (err) throw err;
// 计算数据总条数
let total = data.length; // 分页条件 (跳过多少条)
let n = (currentPage - 1) * pageSize;
// 拼接分页的sql语句
sqlStr += ` limit ${n}, ${pageSize}`; // 执行sql语句 (查询对应页码的数据)
connection.query(sqlStr, (err, data) => {
if (err) throw err;
// 把数据返回给前端 两个数据 数据总条数 total 和 对应页码的数据 data
res.send({
total,
data
});
});
});
});

vue+node+elementUI实现分页功能的更多相关文章
- vue+node+elementUI实现注册功能
后端代码 在后端的文件 routes文件夹下的connect.js文件中 // 引入mysql const mysql = require('mysql'); // 创建连接对象 const conn ...
- vue修改elementUI的分页组件视图没更新问题
转: vue修改elementUI的分页组件视图没更新问题 今天遇到一个小问题平时没留意,el-pagination这个分页组件有一个属性是current-page当前页.今天想在methods里面手 ...
- vue+node+mongodb实现的功能
用vue+node +mongodb实现前后台交互的页面代码,已经上传到github上, 地址是: https://github.com/GainLoss/vue-node-mongodb https ...
- vue element-ui 做分页功能之封装
在 vue 项目中的 components 中 创建一个 文件夹,文件夹里创建一个 name(这个名字你随意取).vue <template> <div class=" ...
- vue+node.js+webpack开发微信公众号功能填坑——v -for循环
页面整体框架实现,实现小功能,循环出数据,整体代码是上一篇 vue+node.js+webpack开发微信公众号功能填坑--组件按需引入 修改部门代码 app.vue <yd-flexbox&g ...
- vue+Element-ui实现分页效果
当我们向后台请求大量数据的时候,并要在页面展示出来,请求的数据可能上百条数据或者更多的时候,并不想在一个页面展示,这就需要使用分页功能来去完成了. 1.本次所使用的是vue2.0+element-ui ...
- Vue 分页功能伪代码实现
Vue分页功能的实现 其实分页功能是一个比较简单的demo 后端写好pageNum和pageSize的接口直接传参就是了 // 这里我们假设后端已经写好了 pageNum和pagesize <v ...
- vue+element-ui 实现分页(根据el-table内容变换的分页)
官方例子 官方提示: 设置layout,表示需要显示的内容,用逗号分隔,布局元素会依次显示.prev表示上一页,next为下一页,pager表示页码列表,除此以外还提供了jumper和total,si ...
- vue+elementUI实现 分页表格的单选或者多选、及禁止部分选择
一.vue+elementUI实现 分页表格前的多选 多选效果图: 代码如下: <el-table ref="multipleTable" :data="listD ...
随机推荐
- MongoDB 不在开源了,使用 Homebrew 安装只能玩社区版了
使用了大半年的 mongodb ,最近在公司的新项目中应用,在 mac 上安装 mongodb 时发现始终安装不了,一直在报下面这样的错误: brew install mongodb 升级 brew ...
- Scrapy_redis主机连接虚拟机的数据库时显示积极拒绝,无法连接
1.端口转发 在虚拟机设置各个数据库对应的端口转发 2.修改数据库配置文件 默认只有本机的IP才可以访问,其它IP就连不上了,修改bind ip 为0.0.0.0 3.重启服务(或者直接重启虚拟机) ...
- python3解决url编码与解码
对于url编码的转换,主要用urllib.parse包中的quote和unquote方法. quote进行解码,unquote进行编码. 代码实例: import urllib.parse u = & ...
- The Three Rules/Laws of TDD
You are not allowed to write any production code unless it is to make a failing unit test pass. 除非为了 ...
- CF1248E Queue in the Train
题目链接 problem 火车上的一列人要去排队接水.每个人都会在某个特定的时刻口渴.口渴之后他要去排队接水,如果他前面的座位有人已经在排队或者正在接水,那么他就不会去排队.否则他就会去排队.每个人接 ...
- 使用Runtime的hook技术为tableView实现一个空白缺省页
一.介绍 UITableView和UICollectionView是iOS开发最常用的控件,也是必不可少的控件,这两个控件基本能实现各种各样的界面样式. 它们都是通过代理模式监测数据源的有无对数据进行 ...
- php date获取当前时间
结果: 结论: 本以为第一种方式最快,第三种方式竟超乎想象的快且稳定
- Unity Settings Deamon crash in 16.04 every time after boot
安装ubuntu 16.04的时候,出现这样一个错误: unity-settings-deamon crashed with SIGSEGV in up_exported_dae (can't rea ...
- IT兄弟连 HTML5教程 HTML5的基本语法 如何选择开发工具
如何选择开发工具 有许多可以编辑网页的软件,事实上你不需要用任何专门的软件来建立HTML页面,你所需要的只是一个文本编辑器(或字处理器),如Office Word.记事本.写字板等.制作页面初学者通常 ...
- 使用DataV制作的一个数据报表
之前接到一个做数据报表的需求,当时准备使用echarts自己画.后来考虑时间来不及,着急要,再加上一直在使用阿里云的产品,就在阿里云上个找了找数据大屏的服务.于是很快做出了一款. 然后看到 https ...