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

Vue中ElementUI分頁組件Pagination的使用方法

 更新時間:2021年05月31日 10:08:44   作者:G.E.M.千百度  
這篇文章主要為大家詳細介紹了Vue中ElementUI分頁組件Pagination的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Vue中ElementUI分頁組件Pagination的使用,供大家參考,具體內(nèi)容如下

一、概要

ElementUI 提供了 el-pagination 組件,只要配置相應(yīng)得參數(shù)和事件,即可實現(xiàn)分頁。

二、實現(xiàn)

1、基本用法

<div class="pagination">
    <el-pagination
      background
      layout="total, sizes, prev, pager, next, jumper"
      :current-page="tablePage.pageNum"
      :page-size="tablePage.pageSize"
      :page-sizes="pageSizes"
      :total="tablePage.total"
      @size-change="handleSizeChange"
      @current-change="handlePageChange"
    />
</div>
data() {
    return {
      tablePage: {
        pageNum: 1, // 第幾頁
        pageSize: 10, // 每頁多少條
        total: 0 // 總記錄數(shù)
      },
      pageSizes: [10, 20, 30]
    }
  },
  methods: {
    handlePageChange(currentPage) {
      this.tablePage.pageNum = currentPage
      // 在此刷新數(shù)據(jù)
    },
    handleSizeChange(pageSize) {
      this.tablePage.pageSize = pageSize
      // 在此刷新數(shù)據(jù)
    }
  }

2、后端分頁的實現(xiàn)

實現(xiàn)思路:向后臺發(fā)送請求,傳入pageNum、pageSize兩參數(shù),直接得到相應(yīng)的分頁數(shù)據(jù)。

// 獲取數(shù)據(jù)
getData() {
      let param = {
        pageNum: this.tablePage.pageNum,
        pageSize: this.tablePage.pageSize
      }
      // 請求后臺接口函數(shù)
      getDataApi(param, { loading: true }).then(res => {
        // 后臺返回數(shù)據(jù)
        this.list = res.data.list
        this.tablePage.total = res.data.total
      })
    },

3、前端分頁的實現(xiàn)

實現(xiàn)思路:向后臺發(fā)送請求,獲取全部數(shù)據(jù),前端通過pageNum、pageSize對數(shù)據(jù)進行處理,最終得到相應(yīng)的分頁數(shù)據(jù)。以下是處理數(shù)據(jù)得兩種方法:

1、利用 Array.slice 截取想要的數(shù)組片段( 此方法要考慮 總頁數(shù)為“1” 和 尾頁 的情況)
2、利用 Array.filter 過濾出想要的數(shù)組片段(此方法無需考慮 總頁數(shù)為“1” 和 尾頁 的情況,只要滿足條件即可

/**
     * 分頁數(shù)據(jù)處理
     * @param data [Array] 需要分頁的數(shù)據(jù)
     * @param num [Number] 當(dāng)前第幾頁
     * @param size [Number] 每頁顯示多少條
*/
    getList(data, num, size) {
      let list, total, start, end, isFirst, isLast
      total = data.length
      isFirst = total < size
      isLast = Math.ceil(total / size) === num
      start = (num - 1) * size
      end = isFirst || isLast ? start + (total % size) : start + size
      list = data.slice(start, end)
      list.forEach((item, index) => {
        item.seq = index + start
      })
      return list
    }
    /**
     * 分頁數(shù)據(jù)處理
     * @param data [Array] 需要分頁的數(shù)據(jù)
     * @param num [Number] 當(dāng)前第幾頁
     * @param size [Number] 每頁顯示多少條
     */
    getList(data, num, size) {
      let list, start, end
      start = (num - 1) * size
      end = start + size
      list = data.filter((item, index) => {
        return index >= start && index < end
      })
      list.forEach((item, index) => {
        item.seq = index + start
      })
      return list
}

總結(jié):無論是前端分頁和還是后端分頁,最終都需要拿到兩個參數(shù):pageNum(當(dāng)前頁)、pageSize(每頁多少條)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue2和Vue3中常用組件通信用法分享

    Vue2和Vue3中常用組件通信用法分享

    這篇文章主要為大家整理了Vue3的8種和Vue2的12種組件通信的使用方法,文中的示例代碼講解詳細,對我們學(xué)習(xí)Vue有一定的幫助,值得收藏
    2023-04-04
  • vue中路由參數(shù)傳遞可能會遇到的坑

    vue中路由參數(shù)傳遞可能會遇到的坑

    這篇文章主要給大家介紹了關(guān)于vue中路由參數(shù)傳遞遇到的坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Vue3造輪子之Typescript配置highlight過程

    Vue3造輪子之Typescript配置highlight過程

    這篇文章主要介紹了Vue3造輪子之Typescript配置highlight過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue3中$refs的基本使用方法

    vue3中$refs的基本使用方法

    在Vue中一般很少會用到直接操作DOM,但不可避免有時候需要用到,這時我們可以通過ref和$refs這兩個來實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue3中$refs的基本使用方法,需要的朋友可以參考下
    2022-03-03
  • 詳解Vue中如何避免濫用watch

    詳解Vue中如何避免濫用watch

    這篇文章主要為大家詳細介紹了Vue中濫用watch帶來的問題以及如何解決,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Vue實現(xiàn)Base64編碼與解碼的代碼示例

    Vue實現(xiàn)Base64編碼與解碼的代碼示例

    在Web開發(fā)中,Base64編碼常用于將二進制數(shù)據(jù)轉(zhuǎn)換為文本字符串,以便在網(wǎng)絡(luò)上傳輸,在Vue.js應(yīng)用中,Base64編碼廣泛應(yīng)用于圖像的嵌入,本文將詳細介紹如何在Vue.js中實現(xiàn)Base64編碼與解碼,并提供多種示例和實現(xiàn)思路,需要的朋友可以參考下
    2024-09-09
  • vue長按事件touch示例詳解

    vue長按事件touch示例詳解

    這篇文章主要介紹了vue長按事件touch,文末給大家補充介紹了Vue長按觸摸事件的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 多個vue項目復(fù)用一個node_modules的問題

    多個vue項目復(fù)用一個node_modules的問題

    這篇文章主要介紹了多個vue項目復(fù)用一個node_modules的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue中element 上傳功能的實現(xiàn)思路

    vue中element 上傳功能的實現(xiàn)思路

    這篇文章主要介紹了vue中element 的上傳功能的實現(xiàn)思路,本文大概通過兩種實現(xiàn)思路,具體內(nèi)容詳情大家跟隨腳本之家小編一起看看吧
    2018-07-07
  • 如何查看vue項目的node版本

    如何查看vue項目的node版本

    文章總結(jié):查看Vue項目中使用的Node版本,特別是當(dāng)項目使用Yarn和TypeScript時,可以通過查看yarn.lock文件中的@types/node@version來確定版本
    2025-01-01

最新評論

靖边县| 司法| 汤阴县| 彩票| 延川县| 武隆县| 丹寨县| 郸城县| 广宗县| 克拉玛依市| 尉犁县| 四平市| 闵行区| 中牟县| 神池县| 太保市| 高台县| 库车县| 望奎县| 岑溪市| 青河县| 娄底市| 韩城市| 陆川县| 法库县| 阿鲁科尔沁旗| 东安县| 通辽市| 清水河县| 巴塘县| 泰和县| 图木舒克市| 甘南县| 子洲县| 芮城县| 南陵县| 额尔古纳市| 东丰县| 湛江市| 贵州省| 江口县|