亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

分頁組件

李增田 / 2577人閱讀

摘要:分頁組件通過來接受從父組件傳遞過來的值頁面中的可見頁碼,其他的以替代必須是奇數(shù)當(dāng)前頁碼每頁顯示條數(shù)總記錄數(shù)父組件通過方

分頁組件

export default {
    name : "MoPaging",
    //通過props來接受從父組件傳遞過來的值
    props : {

        //頁面中的可見頁碼,其他的以...替代, 必須是奇數(shù)
        perPages : { 
            type : Number,
            default : 5 
        },

        //當(dāng)前頁碼
        pageIndex : {
            type : Number,
            default : 1
        },

        //每頁顯示條數(shù)
        pageSize : {
            type : Number,
            default : 10
        },

        //總記錄數(shù)
        total : {
            type : Number,
            default : 1
        },

    },
    methods : {
        prev(){
            if (this.index > 1) {
                this.go(this.index - 1)
            }
        },
        next(){
            if (this.index < this.pages) {
                this.go(this.index + 1)
            }
        },
        first(){
            if (this.index !== 1) {
                this.go(1)
            }
        },
        last(){
            if (this.index != this.pages) {
                this.go(this.pages)
            }
        },
        go (page) {
            if (this.index !== page) {
                this.index = page
                //父組件通過change方法來接受當(dāng)前的頁碼
                this.$emit("change", this.index)
            }
        }
    },
    computed : {

        //計(jì)算總頁碼
        pages(){
            return Math.ceil(this.size / this.limit)
        },

        //計(jì)算頁碼,當(dāng)count等變化時(shí)自動(dòng)計(jì)算
        pagers () {
            const array = []
            const perPages = this.perPages
            const pageCount = this.pages
            let current = this.index
            const _offset = (perPages - 1) / 2

            
            const offset = {
                start : current - _offset,
                end   : current + _offset
            }

            //-1, 3
            if (offset.start < 1) {
                offset.end = offset.end + (1 - offset.start)
                offset.start = 1
            }
            if (offset.end > pageCount) {
                offset.start = offset.start - (offset.end - pageCount)
                offset.end = pageCount
            }
            if (offset.start < 1) offset.start = 1

            this.showPrevMore = (offset.start > 1)
            this.showNextMore = (offset.end < pageCount)

            for (let i = offset.start; i <= offset.end; i++) {
                array.push(i)
            }

            return array
        }
    },
    data () {
        return {
            index : this.pageIndex, //當(dāng)前頁碼
            limit : this.pageSize, //每頁顯示條數(shù)
            size : this.total || 1, //總記錄數(shù)
            showPrevMore : false,
            showNextMore : false
        }
    },
    watch : {
        pageIndex(val) {
            this.index = val || 1
        },
        pageSize(val) {
            this.limit = val || 10
        },
        total(val) {
            this.size = val || 1
        }
    }
}

父組件使用


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93296.html

相關(guān)文章

  • 小程序分頁實(shí)踐:編寫可復(fù)用分頁組件

    摘要:項(xiàng)目中遇到切換列表,每個(gè)都需要分頁的需求,分頁流程具有相似性,于是想將分頁封裝為組件,方便應(yīng)用。組件的復(fù)用完成了以上組件,在對(duì)其他分頁的頁面,可以直接復(fù)用。 項(xiàng)目中遇到 tab切換列表,每個(gè)tab都需要分頁的需求,分頁流程具有相似性,于是想將分頁封裝為組件,方便應(yīng)用。 組件的應(yīng)用已寫成一個(gè)小demo,效果如下圖所示(數(shù)據(jù)用mock模擬): showImg(https://segment...

    crelaber 評(píng)論0 收藏0
  • 關(guān)于vue+element-ui項(xiàng)目的分頁,返回默認(rèn)顯示第一頁的問題解決

    摘要:所以這就導(dǎo)致,頁面內(nèi)容正確,但是頁碼高亮依舊是第一頁解決辦法我們需要在之后刷新這個(gè)分頁組件或者讓分頁組件的后于之后加載到頁面。然后再次測(cè)試,發(fā)現(xiàn)完美解決問題。 問題描述 當(dāng)前頁面如下showImg(https://segmentfault.com/img/bVbjJ7a); 然后點(diǎn)擊頁碼跳到第3頁,然后在第三頁點(diǎn)擊頁面鏈接跳轉(zhuǎn)到新的頁面showImg(https://segmentfa...

    YFan 評(píng)論0 收藏0
  • Laravel自定義分頁樣式

    摘要:的分頁組件默認(rèn)為的分頁樣式,但如果我們用的并不是或者說分頁的結(jié)構(gòu)不一樣,這時(shí)我們需要自定義分頁。進(jìn)一步,可以看到通過繼承并對(duì)方法進(jìn)行重寫,由此可見,我們可以通過繼承類并對(duì)方法進(jìn)行重寫,就可以自定義分頁的樣式了。 ????????Laravel 的分頁組件默認(rèn)為 Bootstrap 的分頁樣式,但如果我們用的并不是 Bootstrap 或者說分頁的 HTML結(jié)構(gòu)不一樣,這時(shí)我們需要自定義...

    Lionad-Morotar 評(píng)論0 收藏0
  • vue分頁組件

    摘要:最近在做系統(tǒng)管理后臺(tái)的需求,用了,體驗(yàn)還是挺好的,但是一直找不到一個(gè)比較好的分頁組件,就自己整了一個(gè)。移動(dòng)端可能不適合使用這個(gè)組件默認(rèn)每個(gè)分頁會(huì)帶上類名,點(diǎn)擊態(tài)會(huì)帶上的類名,需要修改可以去改動(dòng)的設(shè)置項(xiàng)目地址分頁組件歡迎大家使用交流 最近在做系統(tǒng)管理后臺(tái)的需求,用了vue,體驗(yàn)還是挺好的,但是一直找不到一個(gè)比較好的分頁組件,就自己整了一個(gè)。 使用的方法如下,只要傳遞一個(gè)total總頁數(shù),...

    meislzhua 評(píng)論0 收藏0
  • 第九集: 從零開始實(shí)現(xiàn)一套pc端vue的ui組件庫( 分頁組件 )

    摘要:第九集從零開始實(shí)現(xiàn)分頁器組件本集定位分頁器這個(gè)組件也算是個(gè)老朋友了還記得剛學(xué)的時(shí)候?qū)憘€(gè)分頁器要行代碼要是能穿越回去我得好好教教我自己設(shè)計(jì)模式 第九集: 從零開始實(shí)現(xiàn)( 分頁器組件 ) 本集定位: 分頁器這個(gè)組件也算是個(gè)老朋友了, 還記得剛學(xué)js的時(shí)候, 寫個(gè)分頁器要300行代碼,要是能穿越回去, 我得好好教教我自己設(shè)計(jì)模式

    levy9527 評(píng)論0 收藏0
  • 第九集: 從零開始實(shí)現(xiàn)一套pc端vue的ui組件庫( 分頁組件 )

    摘要:第九集從零開始實(shí)現(xiàn)分頁器組件本集定位分頁器這個(gè)組件也算是個(gè)老朋友了還記得剛學(xué)的時(shí)候?qū)憘€(gè)分頁器要行代碼要是能穿越回去我得好好教教我自己設(shè)計(jì)模式 第九集: 從零開始實(shí)現(xiàn)( 分頁器組件 ) 本集定位: 分頁器這個(gè)組件也算是個(gè)老朋友了, 還記得剛學(xué)js的時(shí)候, 寫個(gè)分頁器要300行代碼,要是能穿越回去, 我得好好教教我自己設(shè)計(jì)模式

    leoperfect 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<