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

vue+element?分頁(yè)封裝的實(shí)現(xiàn)示例

 更新時(shí)間:2023年07月27日 09:04:56   作者:Wh1T3ZzT  
本文主要介紹了vue+element?分頁(yè)封裝的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

項(xiàng)目場(chǎng)景

分頁(yè)也是我們?cè)趯?shí)際應(yīng)用當(dāng)中非常常見的存在,其實(shí)分頁(yè)本身在element中做的就挺好的了,但是使用確實(shí)非常的多,所以還是有必要封裝一下,主要是為了減少代碼的冗余,以及提升開發(fā)的效率和降低后續(xù)維護(hù)的成本。

認(rèn)識(shí)分頁(yè)

這是一段普通分頁(yè)的示例

<template>
  <div class="block">
    <span class="demonstration">完整功能</span>
    <el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-sizes="[100, 200, 300, 400]"
      :page-size="100"
      layout="total, sizes, prev, pager, next, jumper"
      :total="400">
    </el-pagination>
  </div>
</template>
 <script>
  export default {
    methods: {
      handleSizeChange(val) {
        console.log(`每頁(yè) ${val} 條`);
      },
      handleCurrentChange(val) {
        console.log(`當(dāng)前頁(yè): ${val}`);
      }
    },
    data() {
      return {
        currentPage: 4
      };
    }
  }
</script>

效果是這樣的

在這當(dāng)中用到了我們常用的七個(gè)字段:

1.current-page

:current-page="currentPage"

代表的是當(dāng)前在第幾頁(yè),并且可以輸入進(jìn)行跳轉(zhuǎn)任意存在的頁(yè)數(shù),主要效果如下:

2.page-sizes

:page-sizes="[100, 200, 300, 400]"

用于設(shè)置分頁(yè)每頁(yè)顯示多少條,主要效果如下:

3.page-size

:page-size="100"

設(shè)置默認(rèn)顯示多少條(這里默認(rèn)為100條),主要效果如下:

4.layout

layout="total, sizes, prev, pager, next, jumper"

用于設(shè)置組件布局,子組件名用逗號(hào)分隔,效果如下:

字段說明:

  • total : 總頁(yè)數(shù)
  • sizes:一頁(yè)顯示多少條
  • prev:上一頁(yè)
  • pager:點(diǎn)擊頁(yè)數(shù)跳轉(zhuǎn)(只允許跳轉(zhuǎn)上下兩頁(yè)以及起止頁(yè))
  • next:下一頁(yè)
  • jumper:輸入跳轉(zhuǎn)任意存在頁(yè)

5.total

:total="400"

展示總頁(yè)數(shù),效果如下。

6.size-change

@size-change="handleSizeChange"

7.current-change

@current-change="handleCurrentChange"

觸發(fā)事件,currentPage 改變時(shí)會(huì)觸發(fā),也就是修改每頁(yè)顯示多少條時(shí)觸發(fā)。

封裝分頁(yè)

弄清楚每個(gè)字段的意思后便可以進(jìn)行封裝了。主要思路是,封裝的組件通過父組件將currentPage,total,sizes,pager,jumper傳入,并且在觸發(fā)@size-change,@current-change事件時(shí),將事件信息傳給父組件。

創(chuàng)建paging

進(jìn)行封裝

<!-- 
	author:Wh1T3ZzT
	component:分頁(yè)
	time:2023/07/25
-->
<template>
  <div class="paging">
    <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :page-sizes="pageSizes"
        :page-size="pageSize"
        :layout="layout"
        :total="total">
      </el-pagination>
  </div>
</template>
<script>
export default {
  data(){
    return{
    }
  },
  props:{
    currentPage:{
      default(){
        return [];
      }
    },
    pageSizes:{
      default(){
        return [];
      }
    },
    pageSize:{
      default(){
        return [];
      }
    },
    layout:{
      default(){
        return [];
      }
    },
    total:{
      default(){
        return [];
      }
    }
  },
  methods:{
    handleSizeChange(val) {
      this.$emit('handleSizeChange',val)
      console.log(`傳給父組件:每頁(yè) ${val} 條`);
    },
    handleCurrentChange(val) {
      this.$emit('handleCurrentChange',val)
      console.log(`傳給父組件:當(dāng)前頁(yè): ${val}`);
    },
  }
}
</script>
<style>
</style>

封裝完成!

頁(yè)面中使用:

引入

<template>
  <div>
    <Paging 
       :currentPage="1" 
       :pageSizes="[5,10,20,50,100]" 
       :pageSize="10" 
       layout="total, sizes, prev, pager, next, jumper" 
       :total="10" 
       @handleSizeChange="PagingSizeChange" 
       @handleCurrentChange="PagingCurrentChange"
     ></Paging>
  </div>
</template>
<script>
import Paging from '@/components/paging/index.vue'
export default {
	methods:{
    PagingSizeChange(val){
      console.log(`父組件接收到每頁(yè): ${val} 條`);
    },
    PagingCurrentChange(val){
      console.log(`父組件接收到當(dāng)前頁(yè): ${val}`);
    },
	}
}
</script>

效果

到此這篇關(guān)于vue+element 分頁(yè)封裝的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)vue element 分頁(yè)封裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue上傳圖片到oss的方法示例(圖片帶有刪除功能)

    vue上傳圖片到oss的方法示例(圖片帶有刪除功能)

    這篇文章主要介紹了vue上傳圖片到oss的方法示例(圖片帶有刪除功能),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue實(shí)現(xiàn)放大鏡效果

    vue實(shí)現(xiàn)放大鏡效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Vite引用本地靜態(tài)資源的正確方式

    Vite引用本地靜態(tài)資源的正確方式

    在前端開發(fā)中,除了通過 API 動(dòng)態(tài)請(qǐng)求的數(shù)據(jù)外,還有一些諸如 HTML 文件、圖片、字體等文件需要在項(xiàng)目中被用到,通常這些被視為靜態(tài)資源,本文將基于 Vite + React 來講述并解鎖 Vite 引用本地靜態(tài)資源的正確姿勢(shì),需要的朋友可以參考下
    2024-12-12
  • vue中動(dòng)態(tài)獲取變量名并賦值方式

    vue中動(dòng)態(tài)獲取變量名并賦值方式

    這篇文章主要介紹了vue中動(dòng)態(tài)獲取變量名并賦值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 解決threeJS加載obj?gltf模型后顏色太暗的方法

    解決threeJS加載obj?gltf模型后顏色太暗的方法

    這篇文章主要為大家介紹了解決threeJS加載obj?gltf模型后顏色太暗的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Vue中常見混淆用法匯總

    Vue中常見混淆用法匯總

    本文主要介紹了在Vue中使用的一些常見混淆用法,包括new Vue()、export default {}、createApp()等,以及如何使用混淆器對(duì)代碼進(jìn)行加固,需要的可以參考下
    2023-12-12
  • Vue事件的基本操作你知道嗎

    Vue事件的基本操作你知道嗎

    這篇文章主要為大家詳細(xì)介紹了Vue事件的基本操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • el-select二次封裝實(shí)現(xiàn)可分頁(yè)加載數(shù)據(jù)的示例代碼

    el-select二次封裝實(shí)現(xiàn)可分頁(yè)加載數(shù)據(jù)的示例代碼

    使用el-select時(shí)一次性渲染幾百條數(shù)據(jù)時(shí)會(huì)造成頁(yè)面克頓, 可以通過分頁(yè)來實(shí)現(xiàn),所以本文給大家介紹了el-select二次封裝實(shí)現(xiàn)可分頁(yè)加載數(shù)據(jù),文中有詳細(xì)的代碼講解,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-12-12
  • vue3+vite+ts?通過svg-sprite-loader?插件使用自定義圖標(biāo)的詳細(xì)步驟

    vue3+vite+ts?通過svg-sprite-loader?插件使用自定義圖標(biāo)的詳細(xì)步驟

    這篇文章主要介紹了vue3+vite+ts通過svg-sprite-loader插件使用自定義圖標(biāo),本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • vue+elementUI的select下拉框回顯為數(shù)字問題

    vue+elementUI的select下拉框回顯為數(shù)字問題

    這篇文章主要介紹了vue+elementUI的select下拉框回顯為數(shù)字問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論

桐城市| 友谊县| 普陀区| 濮阳市| 仙居县| 昌黎县| 子长县| 巴青县| 临朐县| 龙山县| 历史| 老河口市| 清镇市| 阳泉市| 遂宁市| 原平市| 八宿县| 沿河| 梅河口市| 榆林市| 昌宁县| 永安市| 原阳县| 包头市| 卓资县| 公主岭市| 通许县| 原阳县| 都匀市| 徐州市| 资源县| 广宗县| 红桥区| 龙井市| 武邑县| 葫芦岛市| 武威市| 金坛市| 黔江区| 夏邑县| 廉江市|