最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
基于Vue2.0的分页组件
时间:2017-07-03 编辑:简简单单 来源:一聚教程网
整个示例打包了,有需要的可以下载,有不对的地方欢迎指出:vue分页组件
组件部分代码:
代码如下 | 复制代码 |
Vue.component('zpagenav', { template: ` `
`
`` + `` + `共 {{total}} 条` + ``, props: { prevHtml: String, nextHtml: String, page: Number, total: Number, pageSize: Number, maxPage: Number }, computed: { pageList:function() { var_this =this, pageList = []; let pageCount = Math.ceil(_this.total / _this.pageSize); let page = _this.page; let prevHtml = _this.prevHtml ? _this.prevHtml :'<' let nextHtml = _this.nextHtml ? _this.nextHtml :'>' let maxPage = _this.maxPage ? _this.maxPage : 9;
let hasPrev = page > 1; let hasNext = page < pageCount;
//上一页 pageList.push({ class: hasPrev ?'':'disabled', page: hasPrev ? page - 1 : page, html: prevHtml });
//首页 pageList.push({ class: page == 1 ?'active':'', page: 1, html: 1 });
varp0 = Math.floor(maxPage / 2); varp1 = 1 + 2 + p0;//首页+省略至少2个页码+中间页面数的一半
varstart, end; if(page >= p1) { start = page - p0; //前置省略号 pageList.push({ class:'dot', page: page, html:'...' }); }else{ start = 2; }
varp2 = page + p0; if(p2 < pageCount) { end = p2; }else{ end = pageCount - 1; }
//页码列表 for(let i = start; i <= end; i++) { pageList.push({ class: page == i ?'active':'', page: i, html: i }); }
if(end < pageCount - 1) { //后置省略号 pageList.push({ class:'dot', page: page, html:'...' }); }
//尾页 if(pageCount > 1) { pageList.push({ class: page == pageCount ?'active':'', page: pageCount, html: pageCount }); }
//下一页 pageList.push({ class: hasNext ?'':'disabled', page: hasNext ? page + 1 : page, html: nextHtml });
returnpageList; } }, methods: { setPage:function(item) { if(item.class =='') { this.$emit('pagehandler', item.page); } } } }); |
-
上一个: 原生js实现验证码功能
-
下一个: 基于JavaScript实现滑动门效果
相关文章
- Mybatis实现分页的注意点 07-21
- 基于vue实现分页/翻页组件paginator示例 06-12
- angular分页指令操作的教程 01-09
- word文档如何分页?在Word中使文档分页方法介绍 12-08
- Illustrator实现分页功能教程详解 08-26
- Illustrator实现分页功能教程分享 07-05