最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

二次封裝element ui pagination組件方式

 更新時間:2025年11月22日 15:11:11   作者:活寶小娜  
文章總結(jié)了在Vue2中二次封裝Element UI Pagination組件的過程,包括HTML、JS和CSS部分的代碼示例,作者分享了個人經(jīng)驗,旨在為讀者提供參考,并鼓勵大家支持腳本之家

vue2中二次封裝element ui pagination組件

html部分

<template>
    <div class="table-pagination">
        <el-pagination
        :current-page.sync="currentPage"
        :page-sizes="pageSizes"
        :page-size="pageSize"
        :layout="paginationLayout"
        :total="total"
        background
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        />
    </div>
</template>

js部分

<script>
export default {
    name: "DiyPagination",
    props: {
        // 分頁配置
        pagination: {
            type: Object,
            default: null
        },
    },
    data() {
        return {
            currentPage: 1,
            pageSize: 10,
            total: 0,
            pageSizes: [10, 20, 50, 100],
            paginationLayout: 'total, sizes, prev, pager, next, jumper',
        };
    },
    watch: {
        // 監(jiān)聽分頁配置變化
        pagination: {
            immediate: true,
            deep: true,
            handler(val) {
                if (val) {
                this.currentPage = val.currentPage || 1;
                this.pageSize = val.pageSize || 10;
                this.total = val.total || 0;
                this.pageSizes = val.pageSizes || [10, 20, 50, 100];
                this.paginationLayout = val.layout || 'total, sizes, prev, pager, next, jumper';
                }
            }
        }
    },
    methods: {
        // 處理分頁大小變化
        handleSizeChange(size) {
            this.pageSize = size;
            this.$emit('pagination-change', {
                pageSize: size,
                currentPage: this.currentPage
            });
        },
        // 處理當(dāng)前頁變化
        handleCurrentChange(page) {
            this.currentPage = page;
            this.$emit('pagination-change', {
                pageSize: this.pageSize,
                currentPage: page
            });
        },
    }
}
</script>

css部分

.table-pagination {
    padding: 16px;
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid #ebeef5;
    background-color: #fff;
}

在組件中使用

<template>
<DiyPagination
            :pagination="pagination"
            @pagination-change="paginationChange"
            ></DiyPagination>
</template>

<script>
import DiyPagination from "@/components/DiyPagination/index.vue"
export default {
  components: {
    DiyPagination
  },
  data() {
    return {
      pagination: { // 表格分頁配置
        currentPage: 1,
        pageSize: 20,
        total: null,
        pageSizes: [20, 50, 100],
        layout: 'total, sizes, prev, pager, next, jumper',
       },
    }
  },
  methods: {
    paginationChange({pageSize, currentPage}) {
          this.pagination.currentPage = currentPage
          this.pagination.pageSize = pageSize
    },
  }
}
</script>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue項目每30秒刷新1次接口的實現(xiàn)方法

    vue項目每30秒刷新1次接口的實現(xiàn)方法

    在vue.js項目中,經(jīng)常需要對數(shù)據(jù)實時更新——每隔xx秒需要刷新一次接口——即需要用到定時器相關(guān)原理。這篇文章主要介紹了vue項目每30秒刷新1次接口的實現(xiàn)方法,需要的朋友可以參考下
    2018-12-12
  • vue實現(xiàn)純前端表格滾動分頁加載

    vue實現(xiàn)純前端表格滾動分頁加載

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)純前端表格滾動分頁加載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 詳解Vue如何手寫一個虛擬列表

    詳解Vue如何手寫一個虛擬列表

    虛擬列表是一種優(yōu)化長列表渲染的技術(shù),它可以在保持流暢性的同時,渲染大量的數(shù)據(jù),本文主要介紹了如何使用vue手寫一個虛擬列表,感興趣的可以了解下
    2024-04-04
  • Vue表單預(yù)校驗 validate方法不生效問題

    Vue表單預(yù)校驗 validate方法不生效問題

    這篇文章主要介紹了Vue表單預(yù)校驗 validate方法不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 十分鐘帶你讀懂Vue中的過濾器

    十分鐘帶你讀懂Vue中的過濾器

    過濾器提供給我們的一種數(shù)據(jù)處理方式。過濾器功能不是必須要使用的,因為它所實現(xiàn)的功能也能用計算屬性或者函數(shù)調(diào)用的方式來實現(xiàn)。這篇文章主要為大家介紹了Vue中過濾器的使用,需要的可以了解一下
    2023-03-03
  • Vue集成lodop插件實現(xiàn)打印功能

    Vue集成lodop插件實現(xiàn)打印功能

    lodop 取意自“l(fā)oad or print”,是一款優(yōu)秀的 Web 打印控件。本文將在Vue中集成lodop插件實現(xiàn)打印功能,感興趣的小伙伴可以了解一下
    2023-01-01
  • Echarts+VUE柱狀圖繪制細(xì)節(jié)并且屏幕自適應(yīng)完整代碼

    Echarts+VUE柱狀圖繪制細(xì)節(jié)并且屏幕自適應(yīng)完整代碼

    柱狀圖(或稱條形圖)是一種通過柱形的長度來表現(xiàn)數(shù)據(jù)大小的一種常用圖表類型,這篇文章主要給大家介紹了關(guān)于Echarts+VUE柱狀圖繪制細(xì)節(jié)并且屏幕自適應(yīng)的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • Vue前端vue.config.js簡介

    Vue前端vue.config.js簡介

    vue.config.js?是一個可選的配置文件,如果項目的?(和?package.json?同級的)?根目錄中存在這個文件,那么它會被?@vue/cli-service?自動加載,本文重點介紹VUE前端vue.config.js簡介,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • vue項目環(huán)境搭建

    vue項目環(huán)境搭建

    這篇文章介紹了vue項目環(huán)境搭建的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • VUE3開箱即用的音頻播放組件完整代碼(基于原生audio)

    VUE3開箱即用的音頻播放組件完整代碼(基于原生audio)

    Vue3開箱即用的框架有很多選擇,下面這篇文章主要介紹了VUE3開箱即用的音頻播放組件(基于原生audio)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09

最新評論

长兴县| 广东省| 巴青县| 洛扎县| 项城市| 遂川县| 黎平县| 沈阳市| 龙井市| 綦江县| 贺州市| 兴隆县| 北海市| 定陶县| 连平县| 图木舒克市| 山东省| 建瓯市| 松江区| 龙岩市| 乌海市| 德保县| 姜堰市| 竹北市| 库尔勒市| 扎赉特旗| 大田县| 九龙城区| 龙泉市| 阿拉善右旗| 交城县| 贺州市| 沁水县| 屏东县| 政和县| 丁青县| 东至县| 青川县| 馆陶县| 莲花县| 东港市|