ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション

ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション

ElementUIページングコンポーネントPagination in Vueの使用は参考になります。具体的な内容は次のとおりです。

1. 概要

ElementUI はel-paginationコンポーネントを提供します。対応するパラメータとイベントを構成することでページネーションを実現できます。

2. 実装

1. 基本的な使い方

<div class="ページネーション">
    <el-ページネーション
      背景
      layout="total, sizes, prev, pager, next, jumper"
      :current-page="テーブルページ.ページ番号"
      :page-size="テーブルページ.ページサイズ"
      :page-sizes="ページサイズ"
      :total="テーブルページの合計"
      @size-change="ハンドルサイズ変更"
      @current-change="ページ変更処理"
    />
</div>
データ() {
    戻る {
      テーブルページ: {
        pageNum: 1, // ページ番号 pageSize: 10, // ページあたりのレコード数 total: 0 // レコードの総数 },
      ページサイズ: [10, 20, 30]
    }
  },
  メソッド: {
    ページ変更処理(現在のページ) {
      this.tablePage.pageNum = 現在のページ
      // ここでデータを更新},
    ページサイズの変更処理
      this.tablePage.pageSize = ページサイズ
      // ここでデータを更新}
  }

2. バックエンドページングの実装

実装のアイデア: バックエンドにリクエストを送信し、pageNum と pageSize の 2 つのパラメータを渡し、対応するページング データを直接取得します。

// データを取得する getData() {
      パラメータ = {
        ページ番号: this.tablePage.pageNum、
        ページサイズ: this.tablePage.pageSize
      }
      // バックエンドインターフェースをリクエストする function getDataApi(param, { loading: true }).then(res => {
        //バックグラウンドでデータを返す this.list = res.data.list
        this.tablePage.total = res.data.total
      })
    },

3. フロントエンドページングの実装

実装のアイデア:すべてのデータを取得するためにバックグラウンドにリクエストを送信します。フロントエンドは pageNum と pageSize を通じてデータを処理し、最終的に対応するページング データを取得します。データを処理するには 2 つの方法があります。

1. Array.slice を使用して、必要な配列フラグメントを抽出します (この方法では、ページの合計数「1」と最後のページが考慮されます)
2. Array.filterを使用して、必要な配列フラグメントをフィルタリングします(この方法では、条件が満たされている限り、ページの合計数が「1」で最後のページであるかどうかを考慮する必要はありません)。

/**
     * ページングデータ処理 * @param data [配列] ページ分割するデータ * @param num [数値] 現在のページ * @param size [数値] 1ページあたりに表示する項目数 */
    getList(データ、数値、サイズ) {
      リスト、合計、開始、終了、isFirst、isLast を取得します。
      合計 = データの長さ
      isFirst = 合計 < サイズ
      isLast = Math.ceil(合計 / サイズ) === num
      開始 = (数値 - 1) * サイズ
      end = isFirst || isLast ? start + (合計 % サイズ) : start + サイズ
      リスト = data.slice(開始、終了)
      list.forEach((項目, インデックス) => {
        item.seq = インデックス + 開始
      })
      返品リスト
    }
    /**
     * ページングデータ処理 * @param data [配列] ページ分割するデータ * @param num [数値] 現在のページ * @param size [数値] 1ページあたりに表示する項目数 */
    getList(データ、数値、サイズ) {
      let リスト、開始、終了
      開始 = (数値 - 1) * サイズ
      終了 = 開始 + サイズ
      リスト = data.filter((item, index) => {
        インデックス >= 開始 && インデックス < 終了を返します
      })
      list.forEach((項目, インデックス) => {
        item.seq = インデックス + 開始
      })
      返品リスト
}

概要:フロントエンド ページングでもバックエンド ページングでも、最終的には pageNum (現在のページ) と pageSize (ページあたりのエントリ数) の 2 つのパラメーターが必要になります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue2.0+ElementUI+PageHelperで実装されたテーブルページング機能
  • VueコンポーネントライブラリElementUIはテーブルリストのページング効果を実現します
  • Vue が elementUI のページングコンポーネントビューを変更しても更新されない問題の詳細な説明
  • vue+elementUIコンポーネントテーブルはフロントエンドのページング機能を実現します
  • Vue+ElementUI テーブルはテーブルページングを実現します
  • Vue+ElementUI はページング関数を実装します - mysql データ

<<:  ページングのどのページでMySQLのレコードをクエリするか

>>:  VMware 仮想マシンのインストール CentOS 8 (1905) システム チュートリアル ダイアグラム

推薦する

HTMLノードの追加と削除の簡単な例

<br />HTMLノードの追加と削除の簡単な例<input type="...

レスポンシブレイアウトについて知っておくべきこと

1. はじめにレスポンシブ Web デザインにより、Web サイトは複数のデバイスと複数の画面に同時...

MySQL グリーン解凍バージョンのインストールと設定手順

手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....

MySQLの挿入文字化け問題を解決する方法

問題の説明: MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に...

ウェブページ上の写真プレビューナビゲーションを設計するためのヒント

<br />ナビゲーションとは、ウェブサイトの上部にあることが多いナビゲーション バーの...

自動行折り返し機能付き CSS Flex レイアウトのサンプル コード

フレックス コンテナーを作成するには、要素に display: flex プロパティを追加するだけで...

Dockerコンテナの接続と通信の実装

ポート マッピングは、Docker を別のコンテナーに接続する唯一の方法ではありません。 Docke...

Pycharm2017はpython3.6とmysqlの接続を実現します

この記事では、pycharm2017でpython3.6とmysqlを接続する方法を参考までに紹介し...

MySQL の日付と時刻の加算と減算のサンプル コード

目次1.MySQLは時間間隔を加算または減算します2. 日付を減算する最近、MySQL を見直してい...

Nginx ロケーション ディレクティブ URI マッチング ルールの詳細な概要

1. はじめにロケーション命令は、http モジュールのコア構成です。事前に定義された URL マッ...

MySQL データベースのエンコーディングを utf8mb4 に変更する方法

utf8mb4 エンコーディングは utf8 エンコーディングのスーパーセットであり、utf8 と互...

Docker コンテナの uid と gid の詳細な理解

デフォルトでは、コンテナ内のプロセスは root ユーザー権限で実行され、この root ユーザーは...

アップロード画像コントロールを実現するネイティブ js

この記事の例では、アップロード画像コントロールを実装するためのjsの具体的なコードを参考までに共有し...

ローカル写真をアップロードする前にプレビューコード例を実装するための HTML5 と jQuery

HTML5 と jQuery はアップロード前にローカル画像のプレビューを実装しており、その効果は...

jQueryは要素を追加した後に元のイベントが実行されない問題を解決します

まずエラーコードを見てみましょう。 html: <テーブルボーダー="1"...