Vueはページング機能を実装する

Vueはページング機能を実装する

この記事の例では、ページング機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

  • コンポーネントページングの使用
  • 独自のページネーションを書く

1. コンポーネントのページング

<el-ページネーション
     レイアウト="前へ、ページャ、次へ"
     @current-change="ページ番号を変更"
     :current-page="ページ番号"
     :page-size="ページサイズ"
     :total="合計">
</el-pagination>
データ(){
戻る {
   テーブルデータ: [],
        total: 0, // 合計ページ数 pageNum: 1, // 現在のページ pageSize: 15, // ページあたりに表示されるページ数}
}
  マウント: 関数 () {
      this.query(); //ページを読み込むときにデータを取得する},
    方法:{
       //ページ番号を切り替えるchangePageNum: function (val) {
        this.pageNum = val;
        this.query();
      },
      //インターフェースクエリを通じてデータを取得する: function () {
        varデータ = {
          名前: this.name || ''、
          艦隊ID: this.FleetId、
          pageNum: this.pageNum, //現在のページ pageSize: this.pageSize //クエリ番号};
        RoleManage.getRole(データ)
        .then(res => {
          var データ = res;
          (res.成功)の場合{
            テーブルデータ = data.obj.list;
            合計をデータの合計とします。
            this.name = '';
          } それ以外 {
            this.$message('クエリに失敗しました');
          }
        }).catch(エラー => {
          // 異常状況 console.log(err);
        });
      },
   
      }

コンポーネントページング効果

2. 独自のページングを構築する

必要に応じて独自のページングを記述する必要がある場合もあります

1. ページネーションスタイル

2. ページを上下にカットする

//スケジュール - システム アドレス帳のページング dispatchCourentPage: 1,
        //スケジュール - システムアドレス帳現在選択されているタグマークdispatchCourentIndex: 1、
        //スケジュールシステムアドレス帳のその他のマーク項目: グループ ID
        ディスパッチMoreコマンドグループID: ''、
        ディスパッチ合計ページ: 0,
//前のページ handleLastPage() {
        this.dispatchCourentPage === 1 の場合、戻り値:
        this.dispatchCourentPage -= 1;
        index = this.dispatchCourentIndex とします。
        if (this.dispatchMorecommandGroupId != '') {
          this.queryBookMoreBygroupId(this.dispatchMorecommandGroupId);
        } それ以外 {
          this.queryBookmember(インデックス);
        }
      },
//次のページ handleNextPage() {
   this.dispatchCourentPage === this.dispatchTotlePage の場合、戻り値は次のようになります。
   this.dispatchCourentPage += 1;
   index = this.dispatchCourentIndex とします。
   if (this.dispatchMorecommandGroupId != '') {
     this.queryBookMoreBygroupId(this.dispatchMorecommandGroupId);
   } それ以外 {
     this.queryBookmember(インデックス);
   }

 }

3. 監視プロパティを使用してページング表示を制御する

計算: {
      制限データ() {
        data = [...this.table1Datas] とします。
        データを返します。
      },
            // ページの総数は動​​的に計算する必要があるため、最終的なデータをテーブルに返すには計算プロパティも必要です。
      データページ() {
        const データ = this.limitData;
        const start = this.current * this.size - this.size;
        定数 end = start + this.size;
        [...data].slice(start, end) を返します。
      },
  }

4. jsはページングを制御し、ページの総数を計算します

方法1

/**
   *データ項目数とページあたりのデータ項目数に基づいてページ数を計算します* データ項目の総数* ページあたりのデータ項目数の制限*/
 ページ数(合計数, 制限) {
     合計数が 0 より大きい場合 ((合計数が制限値より小さい場合) ? 1 の場合 ((合計数が制限値より小さい場合) ) を返します。
        ? (parseInt(合計数 / 制限数) + 1)
         : (合計数 / 制限数))) : 0;
 },

方法2

/**
   * ページングの合計ページ数* レコードの合計数: totalRecord
   * ページあたりの最大レコード数: maxResult
 */
 関数ページカウント() {
     合計ページ = (合計レコード + maxResult -1) / maxResult;
}

方法3推奨

totalPage = Math.floor((totalRecord +maxResult -1) /maxResult);

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

以下もご興味があるかもしれません:
  • Vue フォームのフォーム送信 + Ajax 非同期リクエスト + ページング効果
  • Vue.jsはページングクエリ機能を実装します
  • Vue でページャーを書くためのサンプルコード
  • Vue.jsは無限ロードとページング機能の開発を実現します
  • Vue.js テーブルページングの例
  • VUE+SpringBootはページング機能を実装します
  • VueコンポーネントライブラリElementUIはテーブルリストのページング効果を実現します
  • ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション
  • Vue プロジェクトがページング効果を実現
  • Vue+iviewはページングとクエリ機能を実現します
  • vue+iview ページングコンポーネントのカプセル化

<<:  mysql8.0.19 の基本データ型の詳細な説明

>>:  Linux システムを起動時に自動的にスクリプトを実行するように設定する方法の例

推薦する

Vueモバイル端末は左スライド編集と削除の全プロセスを実現します

序文プロジェクトのニーズに応じて、Vue-touch を使用して、vue モバイル端末の左スワイプ編...

ボタンをクリックしてテキストを入力ボックスに変換し、保存をクリックしてテキスト実装コードに変換します。

ボタンをクリックしてテキストを入力ボックスに変換し、保存をクリックしてテキスト実装コードに変換します...

Nginx ベースの HTTPS ウェブサイトを設定する手順

目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...

HTML ページをズームアウトした後にスクロール バーを表示するためのサンプル コード

ここでは、HTML ページのサイズを縮小した後に下部にスクロール バーを表示し、スクロール バーをス...

ReactHooks バッチ更新状態とルートパラメータの取得例の分析

目次1. 一括更新の方法コンソール出力2. フックがルーティングパラメータを取得する方法実行効果1....

Windows 10 に Apache 2.4.41 をインストールするチュートリアル

1. Apache 2.4.41 のインストールと設定最初のステップは、以下に示すように、https...

HTML タグ tbody の使い方と説明

tbody 要素は、thead 要素および tfoot 要素と組み合わせて使用​​する必要があります...

Webフロントエンドのパフォーマンス最適化

ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...

MySQLクエリ速度を最適化する方法

前の章では、高性能な MySQL に不可欠な、最適化されたデータ型の選択方法とインデックスの効率的な...

MySQLの重複排除操作を極限まで最適化する方法

目次1. インデックスと変数の賢い使用1. インデックスなしの比較テスト2. created_tim...

Navicat を MySQL に接続するときに発生する 2059 エラーの解決方法

最近、Djangoを学習しているときにデータベースを使用する必要があったため、MySQLで使用するた...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

InnoDB テーブルの BLOB 列と TEXT 列のストレージ効率を最適化します。

まず、MySQL InnoDB エンジンのストレージ形式に関する重要なポイントをいくつか紹介します。...

Vue ElementUI フォームのフォーム検証

フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...

Linux での wget コマンドの基本的な使い方

目次序文1. wgetを使用して単一のファイルをダウンロードする2. wget -Oを使用してダウン...