vue.js框架實(shí)現(xiàn)表單排序和分頁(yè)效果
本文實(shí)例為大家分享了vue.js實(shí)現(xiàn)表單排序和分頁(yè)的具體代碼,供大家參考,具體內(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">上一頁(yè)</button> <button v-on:click="nextPage">下一頁(yè)</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; } } } } /*分頁(yè)*/ 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: '名稱(chēng)', 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)多條件篩選、搜索、排序及分頁(yè)的表格功能
- Vue.js bootstrap前端實(shí)現(xiàn)分頁(yè)和排序
- Vue.js結(jié)合bootstrap前端實(shí)現(xiàn)分頁(yè)和排序效果
- 基于Vue.js的表格分頁(yè)組件
- vuejs2.0實(shí)現(xiàn)一個(gè)簡(jiǎn)單的分頁(yè)示例
- Vue.js實(shí)現(xiàn)分頁(yè)查詢(xún)功能
- vue.js表格分頁(yè)示例
- vuejs手把手教你寫(xiě)一個(gè)完整的購(gòu)物車(chē)實(shí)例代碼
- 用vuex寫(xiě)了一個(gè)購(gòu)物車(chē)H5頁(yè)面的示例代碼
- vue 2.0 購(gòu)物車(chē)小球拋物線的示例代碼
- Vue+Node實(shí)現(xiàn)商品列表的分頁(yè)、排序、篩選,添加購(gòu)物車(chē)功能詳解
相關(guān)文章
vue中按鈕操作完刷新頁(yè)面的實(shí)現(xiàn)
這篇文章主要介紹了vue中按鈕操作完刷新頁(yè)面的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07基于electron+vue3+ts搭建桌面端應(yīng)用并且可以熱更新
這篇文章主要為大家詳細(xì)介紹了如何基于electron+vue3+ts搭建桌面端應(yīng)用并且可以熱更新,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考下2023-10-10關(guān)于vue自適應(yīng)布局(各種瀏覽器,分辨率)的示例代碼
這篇文章主要介紹了vue自適應(yīng)布局(各種瀏覽器,分辨率),主要使用了flex布局的flex:1屬性和自適應(yīng)的css+vh+百分比這種方式,開(kāi)局設(shè)置overflow:hidden,主體main部分要設(shè)置:overflow:auto,需要的朋友可以參考下2022-09-09Vue2項(xiàng)目升級(jí)到Vue3的詳細(xì)教程
看到好多開(kāi)源項(xiàng)目都升級(jí)了vue3,下面這篇文章主要給大家介紹了關(guān)于Vue2項(xiàng)目升級(jí)到Vue3的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01vue router 用戶(hù)登陸功能的實(shí)例代碼
這篇文章主要介紹了vue router 用戶(hù)登陸功能的實(shí)例代碼,主要用到H5中的會(huì)話存儲(chǔ)(sessionStorage)、vue-router路由前置操作、路由元信息(meta)等知識(shí)點(diǎn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-04-04Vue如何實(shí)現(xiàn)驗(yàn)證碼輸入交互
這篇文章主要介紹了Vue實(shí)現(xiàn)驗(yàn)證碼輸入交互的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-12-12web前端vue實(shí)現(xiàn)插值文本和輸出原始html
這篇文章主要介紹了web前端vue實(shí)現(xiàn)插值文本和輸出原始html,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01在vue中獲取wangeditor的html和text的操作
這篇文章主要介紹了在vue中獲取wangeditor的html和text的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10