基于vue2的table分页组件实现方法
本文实例为大家分享了vue2 table分页组件的具体代码,供大家参考,具体内容如下 pagination.js:= 11) {
if (this.cur > 5 && this.cur < this.all - 4) {
left = this.cur - 5
right = this.cur + 4
} else {
if (this.cur <= 5) {
left = 1
right = 10
} else {
right = this.all
left = this.all - 9
}
}
}
while (left <= right) {
ar.push(left)
left++
}
if (ar[0] > 1) {
ar[0] = 1;
ar[1] = -1;
}
if (ar[ar.length - 1] < this.all) {
ar[ar.length - 1] = this.all;
ar[ar.length - 2] = 0;
}
return ar
}
},methods: {
btnclick: function (page) {
this.cur = page;
},nextPage: function () {
if (this.cur >= this.all) {
this.cur=this.all;
}else{
this.cur++;
}
},prvePage: function () {
if (this.cur <= 1) {
this.cur=1;
}else{
this.cur--;
}
},firstPage: function () {
this.cur=1;
},lastPage: function () {
this.cur=this.all;
},setButtonClass: function (isNextButton) {
if (isNextButton) {
return this.cur >= this.all ? "page-button-disabled" : ""
}
else {
return this.cur <= 1 ? "page-button-disabled" : ""
}
},setpage:function () {
this.$emit('mypage',this.cur);
},pageschange:function () {
this.$emit('pageschange',this.selected);
}
}
})
window.Pagination = pagination
})()
pagination.css: <div class="jb51code"> .page-bar { .page-bar li:first-child > a { .page-bar a { .page-bar a:hover { .page-bar .active a { .page-bar i { index.html: 操作 |
![]() |
index.js
el: ".main",data: {
specificationValCur: 1,//当前页
specificationValAll: 1,//总页数
specificationValselected: 10,//默认每页显示的页数
specificationValTotalRecond: 1,//总记录数
specificationValShowpages: [10,30,50,100],//每页显示的页数
specificationValInfo: "",limitTemps: [],temps:[]//数据源
},watch: {
temps: "setPage"
},components: {
'vue-pagination': Pagination
},methods: {
setPage: function () {
this.specificationValInfo = "记录数为:" + this.temps.length + "条";
this.specificationValTotalRecond = this.temps.length;
this.setPageBtn();
this.setPageLimit(this.specificationValTotalRecond,this.specificationValselected,1)
},getPage:function (msg) {
this.specificationValCur=msg;//这里必须,否则按钮无法高亮
this.setPageLimit(this.specificationValTotalRecond,msg)
},setPageLimit: function (total,select,cur) {//这里为实现分页切换table的主要实现
if(total<=select){
this.limitTemps=this.temps;
return
}else {
var arr = [];
var a=select(cur-1);
var b=selectcur;
for (var i = a; i < b; i++) {
if(typeof(this.temps[i])!="undefined"){
arr[i - a] = this.temps[i]
}
}
this.limitTemps = arr;
}
console.log("total:"+total+"select"+select+"cur"+cur)
},setPageBtn: function () {
if (this.specificationValTotalRecond > this.specificationValselected) {
if (this.specificationValTotalRecond % this.specificationValselected == 0) {
this.specificationValAll = this.specificationValTotalRecond / this.specificationValselected
} else {
this.specificationValAll = parseInt(this.specificationValTotalRecond / this.specificationValselected) + 1
}
} else {
this.specificationValAll = 1
}
},getspecificationValShowPages: function (pages) {
this.specificationValselected = pages;
this.setPageBtn();
this.setPageLimit(this.specificationValTotalRecond,1)
}
}
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!