国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue分頁器組件編寫方法詳解

2019-11-19 11:15:05
字體:
來源:轉載
供稿:網友

使用vue編寫的分頁器組件,支持輸入頁碼跳轉,效果如圖:

1、點擊前五頁:

2、點擊中間部分頁面

3、點擊第一頁,上一頁按鈕失效,點擊最后一頁,下一頁按鈕失效

組件調用:

//html調用 參數:pageSize(總頁數);pageNo(當前頁)<pager :pageSize="pageSize" v-model="pageNo" @on-jump="jump"></pager>//組件引入import pager from '../../component/pager/pager.vue'//組件調用聲明components:{ pager}//參數data(){ return {  pageSize: 30,  pageNo: 2 }}//接收跳轉事件methods:{ jump(id){  console.log(id) },}

組件編寫

pager.vue:

<template> <div class="pager-wrapper" ref="pager">  <div class="pager-box">   <a class="pager-prev" :class="{'pager-disabled':prevDisable}" href="javascript:;" @click="jumpPrev()">上一頁</a>   <template v-for="i in pageSize">    <span v-if="i==pageNo" class="pager-curr">     <em class="pager-em"></em><em>{{i}}</em>    </span>    <a v-else-if="pageNo<5&&(i)<6" href="javascript:;" @click="jump(i)">     {{i}}    </a>    <a v-else-if="pageSize<7||i==1||i==pageSize||(pageNo-2<=i&&i<=pageNo+2)" href="javascript:;" @click="jump(i)">     {{i}}    </a>    <template v-else>     <span v-if="pageNo<5&&i==6" class="pager-spr">…</span>     <span v-if="pageNo==4&&i==7" class="pager-spr">…</span>     <span v-if="pageNo>4&&i==pageNo-3" class="pager-spr">…</span>     <span v-if="pageNo>4&&i==pageNo+3" class="pager-spr">…</span>    </template>   </template>   <a class="pager-next" :class="{'pager-disabled':nextDisable}" href="javascript:;" @click="jumpNext()">下一頁</a>  </div>  <div class="pager-input">   <input type="text" v-model="jumpPage">   <a class="pager-btn-go" href="javascript:;" @click="Go()">GO</a>  </div> </div></template>
<script>export default { model:{ //通過v-model傳過來的參數  prop: 'pageNo',  event: 'jumpPage' }, props:{  pageSize:{   type: Number,   default: 1  },  pageNo:{ //通過v-model傳過來的參數   type: Number,   default: 1  } }, data(){  return {   jumpPage:'' //避免操作props參數  } }, computed: {  prevDisable: function(){ //“上一頁”按鈕是否可點   if(this.pageNo > 1){    return false;   }else{    return true   }  },  nextDisable: function(){ //“下一頁”按鈕是否可點   if(this.pageNo < this.pageSize && this.pageSize > 1){    return false;   }else{    return true;   }  }, }, methods: {  jumpPrev: function(){ //點擊上一頁   if(this.pageNo == 1){    return ;   }else{    this.$emit('jumpPage',this.pageNo-1);    this.$emit('on-jump',this.pageNo-1);   }  },  jumpNext: function(){ //點擊下一頁   if(this.pageNo == this.pageSize){    return ;   }else{    this.$emit('jumpPage',this.pageNo+1); //修改當前頁碼    this.$emit('on-jump',this.pageNo+1); //跳轉   }  },  jump: function(id){ //直接跳轉   if(id>this.pageSize){     id=this.pageSize;   }   this.jumpPage = '';   this.$emit('jumpPage',id); //修改當前頁碼   this.$emit('on-jump',id); //跳轉  },  Go: function(){   if(this.jumpPage==''){ //判空處理    return ;   }else if(/^/d*$/.test(parseInt(this.jumpPage))){ //填寫數字才能跳轉    this.jump(parseInt(this.jumpPage));    this.jumpPage = '';   }else{    this.jumpPage = '';    return ;   }  } }}</script>

完整代碼可下載:vue分頁器組件

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 剑川县| 高淳县| 榆林市| 延长县| 集安市| 樟树市| 福安市| 宣城市| 泗水县| 临猗县| 勐海县| 西贡区| 临清市| 屯昌县| 蒙山县| 东莞市| 宜都市| 拜泉县| 东光县| 扎囊县| 扎赉特旗| 雷波县| 磴口县| 濮阳市| 宁强县| 怀仁县| 集安市| 东阳市| 桂平市| 京山县| 金溪县| 开封县| 剑阁县| 泰州市| 新疆| 兴安盟| 邳州市| 来安县| 册亨县| 二手房| 永德县|