vue实现分页功能
本文实例为大家分享了vue实现分页功能的具体代码,供大家参考,具体内容如下
- 使用组件分页
- 自己写分页
data(){return{tableData: [],total: 0,//总数pageNum: 1,//当前页pageSize: 15,//每页显示数量}}mounted: function () {this.query(); //加载页面时,获取数据},methods:{//切换页码changePageNum: function (val) {this.pageNum = val; this.query(); },//通过接口,获取数据query: function () {var data = https://www.it610.com/article/{name: this.name ||'',fleetId: this.FleetId,pageNum: this.pageNum,//当前页pageSize: this.pageSize//查询个数}; RoleManage.getRole(data).then(res => {var data = https://www.it610.com/article/res; if (res.success) {this.tableData = data.obj.list; this.total = data.obj.total; this.name =''; } else {this.$message('查询失败'); }}).catch(err => {// 异常情况console.log(err); }); },}
组件分页效果
文章图片
二、自己构建分页
有些时候需要根据需求自己写分页
【vue实现分页功能】1、分页样式
文章图片
2、上下切页
//调度-系统通讯录分页dispatchCourentPage: 1,//调度-系统通讯录当前选中标签标记dispatchCourentIndex: 1,//调度-系统通讯录更多标记项:组iddispatchMorecommandGroupId: '',dispatchTotlePage: 0,//上页 handleLastPage() {if (this.dispatchCourentPage === 1) return; this.dispatchCourentPage -= 1; let index = this.dispatchCourentIndex; if (this.dispatchMorecommandGroupId != '') {this.queryBookMoreBygroupId(this.dispatchMorecommandGroupId); } else {this.queryBookmember(index); }},//下页 handleNextPage() {if (this.dispatchCourentPage === this.dispatchTotlePage) return; this.dispatchCourentPage += 1; let index = this.dispatchCourentIndex; if (this.dispatchMorecommandGroupId != '') {this.queryBookMoreBygroupId(this.dispatchMorecommandGroupId); } else {this.queryBookmember(index); } }
三、使用监听属性控制分页显示
computed: {limitData() {let data = https://www.it610.com/article/[...this.table1Datas]; return data; },// 因为要动态计算总页数,所以还需要一个计算属性来返回最终给 Table 的 datadataWithPage() {const data = this.limitData; const start = this.current * this.size - this.size; const end = start + this.size; return [...data].slice(start, end); },}
四、js控制分页,计算总页数
方法1
/***根据数据条数与每页多少条数据计算页数 * totalnum 数据条数* limit 每页多少条*/ pageCount(totalnum, limit) {return totalnum > 0 ? ((totalnum < limit) ? 1 : ((totalnum % limit)? (parseInt(totalnum / limit) + 1): (totalnum / limit))) : 0; },
方法2
/*** 分页的总页数算法* 总记录数:totalRecord* 每页最大记录数:maxResult */ function pageCount() {totalPage = (totalRecord + maxResult -1) / maxResult; }
方法3 推荐
totalPage= Math.floor((totalRecord+maxResult -1) /maxResult );
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 人脸识别|【人脸识别系列】| 实现自动化妆