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 システムを起動時に自動的にスクリプトを実行するように設定する方法の例

推薦する

nginx と keepalived を組み合わせて高可用性を実現するための手順を完了する

序文システムの高可用性を満たすためには、通常、クラスターを構築する必要があります。ホストがクラッシュ...

HTMLページ内の検索機能を完了する

最近、たくさんの人に改変してもらったフレームワークに取り組んでいます。毎日コードを見ていると目が回り...

メタタグコードを使用して、360 デュアルコアブラウザを互換モードではなく高速モードにデフォルト設定します。

あるウェブサイトでは、ユーザーが WebKit カーネルでページを開くことを期待して、HTML5 と...

Mysql の使用法の概要

導入EXISTS は、サブクエリが少なくとも 1 行のデータを返すかどうかを確認するために使用されま...

mysql エラー 1045 (28000) - ユーザーへのアクセスが拒否される問題を解決する方法

問題の説明 (以下の説明は Windows 環境に限定されます): D:\develop\ide\m...

WeChatアプレットシングルページアプリケーションルーティングを徹底的に理解するための10分

シングルページアプリケーションの特徴「前提:」Web ページには、クリックするとサイト内の他のページ...

中国語フォントの英語名まとめ

CSS の font-family プロパティを使用して中国語フォントを参照する場合、フォントを定義...

MySQL で主キーと ROWID を使用する際の落とし穴の概要

序文MySQL の rowid の概念については聞いたことがあるかもしれませんが、テストや実践が難し...

Zookeeper&Kafka クラスターを構築するための Docker の実装

最近Kafka勉強しています。クラスタの状態をテストする準備をしていたときに、仮想マシンを 3 つ開...

画像をハイパーリンクとして使用したときに表示される青いボックスを削除する方法

最近、Dreamweaver を使用して製品プレゼンテーションを作成し、画像にハイパーリンクを追加し...

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Django+vue 登録とログインのサンプルコード

登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...

nginx がどのようにして高いパフォーマンスとスケーラビリティを実現するのかを深く理解する

NGINX の全体的なアーキテクチャは、連携して動作する一連のプロセスによって特徴付けられます。メイ...

docker tagとdocker pushの使い方の詳しい説明

Dockerタグの詳しい説明docker tag コマンドの使い方と、ローカルイメージを daocl...

Bootstrapグリッドの垂直および水平配置の詳細な説明

目次1. Bootstrap グリッドレイアウト2. 垂直方向の配置2.1 行タグの垂直方向の配置を...