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 テーブル マークアップ チュートリアル (5): ライト ボーダー カラー属性 BORDERCOLORLIGHT

表では、左上の境界線の色を個別に定義したり、セルの右下の境界線の色を定義したりできます。これら 2 ...

MySQL でテーブル データを削除した後もディスク領域がまだ占有されているのはなぜですか?

目次1.MySQLデータ構造2. テーブルファイルのサイズは変更されておらず、MySQLの設計に関連...

非ルートユーザーを使用してDockerコンテナでスクリプト操作を実行する

アプリケーションをコンテナ化した後、Docker コンテナを起動すると、デフォルトで root ユー...

ネイティブ js でカスタム スクロール バーを実装する

この記事の例では、カスタムスクロールバーを実装するためのjsの具体的なコードを参考までに共有していま...

Trash-Cli: Linux のコマンドラインごみ箱ツール

ゴミ箱は Linux ユーザー、Windows ユーザー、Mac ユーザーにとって非常に一般的なので...

JSにおける4つのデータ型判定方法

目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...

入力ボックスのオートコンプリート機能をオフにする

これで、autocomplete と呼ばれる input の属性を使用できるようになりました。オート...

JS 開発効率を上げる4つの超実践的なヒント

目次1. 短絡判定2. オプション連鎖演算子 (?) 3. ヌル合体演算子 (??) 4. 終了関数...

CSS スキル コレクション - 古典の中の古典

リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...

HTML におけるスクリプトの配置に関する簡単な説明

以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでい...

Win10 の組み込み Linux システムを使用して Spring Boot プロジェクトを開始する方法

1. Windows10の組み込みLinuxサブシステムをインストールする1.1. Linuxサブシ...

MySQLを使用して列内の異なる値の数をカウントする例

序文この記事で実装されている要件は、実際には非常に一般的です。たとえば、ユーザーが登録したチャネルを...

HTMLポップアップdivはモバイルの中央揃えを実現するのに非常に便利です

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...