您好,登錄后才能下訂單哦!
不懂vue實現分頁組件的源代碼是什么??其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。
本文實例為大家分享了vue實現分頁組件的具體代碼,供大家參考,具體內容如下
<template> <div class="pageBox"> <ul> <li v-if="this.condition.pageNo > 1 && this.pages.length > 4" class="sides"><a @click="prePage()"><s class="font_main"></s></a></li> <li v-for="(item, index) in pages" :class="{'curtPage': condition.pageNo == item}"> <a v-if="item" @click="goPage(item)" > <s>{{item}}</s> </a> <a href="javascript:;" rel="external nofollow" v-else>...</a> </li> <li class="sides" v-if="condition.pageNo < pageCount && this.pageCount > 4"><a @click="nextPage()"><s class="font_main"></s></a></li> </ul> </div> </template>
js中代碼 page 和condition是由父組件中傳過來的參數
<script> export default { props: { page: Object, condition: Object }, data () { return { pageSize: this.condition.pageSize } }, computed: { pageCount: function () { return this.page.totalCount / this.condition.pageSize > 0 ? this.page.totalCount % this.condition.pageSize === 0 ? this.page.totalCount / this.condition.pageSize : Math.ceil(this.page.totalCount / this.condition.pageSize) : 1 }, pages () { let c = this.condition.pageNo let t = this.pageCount let arr = [] if (t === 1) { return arr } if (t <= 4) { for (let i = 1; i <= t; i++) { arr.push(i) } return arr } if (c <= 3) return [1, 2, 3, 0, t] if (c >= t - 1) return [1, 0, t - 2, t - 1, t] // if (c === 4) return [1, 2, 3, 4, 5, 0, t] // if (c === (t - 2)) return [1, 0, t - 3, t - 2, t - 1, t] return [1, 0, c - 1, c, c + 1, 0, t] } }, methods: { goPage (indexPage) { if (this.indexPage !== this.condition.pageNo) { this.condition.pageNo = indexPage this.$emit('search') } }, prePage () { if (this.condition.pageNo !== 1) { this.condition.pageNo-- this.goPage(this.condition.pageNo) } }, nextPage () { if (this.condition.pageNo !== this.pageCount) { this.condition.pageNo++ this.goPage(this.condition.pageNo) } } } } </script>
效果圖:
感謝你能夠認真閱讀完這篇文章,希望小編分享vue實現分頁組件的源代碼是什么?內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。