Vue3+element-ui+TS はグローバル ページング コンポーネントをカプセル化します

この記事では、Vue3、element-ui、TypeScript を使用してグローバル ページネーション コンポーネントをカプセル化する方法について説明します。

環境に依存する

開始する前に、次の環境をインストールする必要があります。

  • ビュー 3
  • 要素 ui
  • TypeScript

コンポーネント機能

このページング コンポーネントは次の機能を提供します。

  • 各ページに表示される項目数のカスタマイズのサポート
  • 指定したページ番号へのカスタムジャンプをサポート
  • 総ページ数と総アイテム数の表示をサポート
  • カスタムスタイルのサポート

コンポーネントの実装

ページングコンポーネントの構造

ページネーション コンポーネントは次の部分で構成されます。

<template>
  <div class="pagination">
    <el-pagination
      :total="total"
      :page-size="pageSize"
      :current-page.sync="currentPage"
      :layout="'total, sizes, prev, pager, next, jumper'"
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
    />
  </div>
</template>

ページングコンポーネントのプロパティ

ページネーション コンポーネントは次のプロパティを提供します。

属性名 タイプ デフォルト 説明
合計 番号 0 総数
ページサイズ 番号 10 ページごとに表示されるアイテムの数
現在のページ 番号 1 現在のページ番号

ページネーションコンポーネントメソッド

ページネーション コンポーネントは次のメソッドを提供します。

メソッド名 説明
ハンドルサイズ変更 ページごとに表示されるアイテムの数が変更されたときにトリガーされます
現在の変更を処理する ページ番号が変更されるとトリガーされます

ページネーションコンポーネントのスタイル

次のスタイルを変更することで、ページネーション コンポーネントのスタイルをカスタマイズできます。

.pagination {
    
    
  display: flex;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 20px;
}

.el-pagination__sizes {
    
    
  display: flex;
  align-items: center;
  margin-left: 20px;
}

.el-pagination__jump {
    
    
  margin-left: 20px;
}

.el-pagination__total {
    
    
  margin-right: 20px;
}

ページネーションコンポーネントを使用する

ページネーション コンポーネントの使用は非常に簡単です。カプセル化された Pagination コンポーネントを Vue コンポーネントに導入し、それをテンプレートで使用するだけです。

<template>
  <div class="page">
    <pagination
      :total="total"
      :page-size="pageSize"
      :current-page.sync="currentPage"
    />
  </div>
</template>

<script lang="ts">
import {
    
     defineComponent, ref } from 'vue'
import Pagination from '@/components/Pagination.vue'

export default defineComponent({
    
    
  name: 'Page',
  components: {
    
    
    Pagination,
  },
  setup() {
    
    
    const total = ref(1000)
    const pageSize = ref(10)
    const currentPage = ref(1)

    return {
    
    
      total,
      pageSize,
      currentPage,
    }
  },
})
</script>

要約する

この記事では、Vue3、element-ui、TypeScript を使用してグローバル ページネーション コンポーネントをカプセル化する方法について説明します。独自のニーズに応じて、提供されるページネーション コンポーネントのスタイルとプロパティを変更できます。

おすすめ

転載: blog.csdn.net/qq_27244301/article/details/131555150