vue.js框架實(shí)現(xiàn)表單排序和分頁效果
本文實(shí)例為大家分享了vue.js實(shí)現(xiàn)表單排序和分頁的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="../lib/vue.min.js" type="text/javascript"></script>
<title>表格組件</title>
</head>
<body>
<div id="app">
<mydiv v-bind:info="info" v-bind:header="header" v-bind:num="num" v-bind:page="page"></mydiv>
</div>
<script type="text/x-template" id="mysc">
<div>
<table>
<tr>
<th v-for='x in header' v-on:click="bit(x)">{{x.key}}</th>
</tr>
<tr v-for="y in fenye">
<th v-for="x in header">{{y[x.name]}}</th>
</tr>
</table>
<button v-on:click="lastPage">上一頁</button>
<button v-on:click="nextPage">下一頁</button>
</div>
</script>
<script type="text/javascript">
Vue.component('mydiv',{
template:'#mysc',
props:{
/*屬性不能用駝峰命名法*/
info:Array,
header:Array,
num:Number,
page:Number,
boolen:Boolean,
tiaojian:String
},
data: function() {
return {}
},
computed:{
fenye:function(){
/*排序*/
var list=this.info;
var paixu=this.tiaojian;
for(var i = 1;i<list.length;i++){
for(var j=0;j<list.length-i;j++){
if(this.boolen){
if(list[j][paixu]>list[j+1][paixu]){
var k=list[j+1];
list[j+1]=list[j];
list[j]=k;
}
}else{
if(list[j][paixu] < list[j + 1][paixu]) {
var k;
k = list[j];
list[j] = list[j + 1];
list[j + 1] = k;
}
}
}
}
/*分頁*/
var list2 = [];
var start= this.num*(this.page-1);
var end=start+this.num;
if(end<list.length){
for(var i =start;i<end;i++){
list2.push(list[i])
}
}else{
for(var i =start;i<list.length;i++){
list2.push(list[i])
}
}
return list2;
}
},
methods:{
bit:function(x){
this.boolen=!this.boolen;
this.tiaojian=x.name;
},
lastPage:function(){
console.log(this.num)
if(this.page > 1) {
this.page = this.page - 1;
}
},
nextPage: function() {
var pageNum = this.info.length / this.num;
if(this.page < pageNum) {
this.page = this.page + 1;
}
}
}
})
var phone=new Vue({
el:'#app',
data:{
boolen:true,
num:5,
page:1,
info:[],
header:[{
key: '名稱',
name:'name'
}, {
key: '價(jià)格',
name:'price'
}, {
key: '數(shù)量',
name:'num'
}]
}
})
for(var i = 0;i<22;i++){
phone.info.push({
name:'手機(jī)'+i,
num:i,
price:100*i
})
console.log(111)
}
</script>
</body>
</html>
效果圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue.js實(shí)現(xiàn)多條件篩選、搜索、排序及分頁的表格功能
- Vue.js bootstrap前端實(shí)現(xiàn)分頁和排序
- Vue.js結(jié)合bootstrap前端實(shí)現(xiàn)分頁和排序效果
- 基于Vue.js的表格分頁組件
- vuejs2.0實(shí)現(xiàn)一個(gè)簡(jiǎn)單的分頁示例
- Vue.js實(shí)現(xiàn)分頁查詢功能
- vue.js表格分頁示例
- vuejs手把手教你寫一個(gè)完整的購(gòu)物車實(shí)例代碼
- 用vuex寫了一個(gè)購(gòu)物車H5頁面的示例代碼
- vue 2.0 購(gòu)物車小球拋物線的示例代碼
- Vue+Node實(shí)現(xiàn)商品列表的分頁、排序、篩選,添加購(gòu)物車功能詳解
相關(guān)文章
解決vue數(shù)組中對(duì)象屬性變化頁面不渲染問題
今天小編就為大家分享一篇解決vue數(shù)組中對(duì)象屬性變化頁面不渲染問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
vue.js element-ui validate中代碼不執(zhí)行問題解決方法
這篇文章主要介紹了vue.js element-ui validate中代碼不執(zhí)行問題解決方法,需要的朋友可以參考下2017-12-12
使用mint-ui開發(fā)項(xiàng)目的一些心得(分享)
下面小編就為大家?guī)硪黄褂胢int-ui開發(fā)項(xiàng)目的一些心得(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Vue 開發(fā)音樂播放器之歌手頁右側(cè)快速入口功能
這篇文章主要介紹了Vue 開發(fā)音樂播放器之歌手頁右側(cè)快速入口功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
解決vuex數(shù)據(jù)異步造成初始化的時(shí)候沒值報(bào)錯(cuò)問題
今天小編大家分享一篇解決vuex數(shù)據(jù)異步造成初始化的時(shí)候沒值報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue使用splice()刪除數(shù)組中的一個(gè)數(shù)據(jù) 彈出窗口提示問題
這篇文章主要介紹了vue使用splice()刪除數(shù)組中的一個(gè)數(shù)據(jù) 彈出窗口提示問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
解決Vue中使用Echarts出現(xiàn)There?is?a?chart?instance?already?ini
使用echarts的時(shí)候,多次加載會(huì)出現(xiàn)There?is?a?chart?instance?already?initialized?on?the?dom.這個(gè)黃色警告,此警告信息不影響echarts正常加載,但是有bug得解決,本文就帶大家解決這個(gè)問題,感興趣的同學(xué)可以參考閱讀2023-06-06
深入了解vue-router原理并實(shí)現(xiàn)一個(gè)小demo
這篇文章主要為大家詳細(xì)介紹了vue-router原理并實(shí)現(xiàn)一個(gè)小demo,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03

