本文实例为大家分享了Vue2.0分页组件的具体实现代码,供大家参考,具体内容如下
整个示例打包了,有需要的可以下载,有不对的地方欢迎指出:vue分页组件
组件部分代码:
Vue.component('zpagenav', { template: `<nav class="zpagenav">` + `<ul class="page-ul">` + `<li v-bind:key="index" v-for="(item,index) in pageList" v-bind:class ="item.class" @click.stop="setPage(item)" v-html="item.html">` + `</li>` + `</ul>` + `<span class="total">共 {{total}} 条</span>` + `</nav>`, 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 }); var p0 = Math.floor(maxPage / 2); var p1 = 1 + 2 + p0; //首页+省略至少2个页码+中间页面数的一半 var start, end; if (page >= p1) { start = page - p0; //前置省略号 pageList.push({ class: 'dot', page: page, html: '...' }); } else { start = 2; } var p2 = 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 }); return pageList; } }, methods: { setPage: function (item) { if (item.class == '') { this.$emit('pagehandler', item.page); } } } });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“基于Vue2.0的分页组件”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月16日
2024年11月16日
- 杜德伟.2005-独领风骚新歌精选辑3CD【滚石】【WAV+CUE】
- 安与骑兵《心无疆界》[低速原抓WAV+CUE]
- 柏菲唱片-群星〈胭花四乐〉2CD[原抓WAV+CUE]
- 金典女声发烧靓曲《ClassicBeautifulSound》2CD[低速原抓WAV+CUE]
- 王杰1992《封锁我一生》粤语专辑[WAV+CUE][1G]
- 群星《一人一首成名曲 (欧美篇)》6CD[WAV/MP3][7.39G]
- 东来东往2004《回到我身边·别说我的眼泪你无所谓》先之唱片[WAV+CUE][1G]
- MF唱片-《宝马[在真HD路上]》2CD[低速原抓WAV+CUE]
- 李娜《相信我》新时代[WAV+CUE]
- 2019明达发烧碟MasterSuperiorAudiophile[WAV+CUE]
- 蔡幸娟.1993-相爱容易相处难【飞碟】【WAV+CUE】
- 陆虎.2024-是否愿意成为我的全世界【Hikoon】【FLAC分轨】
- 关淑怡.2009-ERA【星娱乐】【WAV+CUE】
- 林忆莲《关于她的爱情故事》2022新世纪MQA 24K金碟限量版[WAV+CUE]
- 张雨生1993《一天到晚游泳的鱼》台湾G字首版[WAV+CUE][1G]