Vue3 テーブルコンポーネントの使用

Vue3 テーブルコンポーネントの使用

1. Antデザインビュー

大量のデータを表示する必要がある場合、通常はレポートの形式で提示します。直感的な習慣に従って、行と列のデータを表示するにはtableを使用する必要があります。

したがって、データをバインドするには、 Ant Design Vueコンポーネント ライブラリのtableコンポーネントを使用する必要があります。

1. 公式ウェブサイトアドレス

公式ウェブサイトアドレス: https://2x.antdv.com/components/table-cn#API

2. 使い方

まずは電子書籍管理ページをリニューアルし、レイアウトを調整しました。

サンプルコードは次のとおりです。

<テンプレート>
  <a-layout クラス="layout">
    <レイアウトコンテンツ
        :style="{ 背景: '#fff', パディング: '24px', 最小高さ: '280px' }">
      <div class="about">
        <h1>電子書籍管理ページ</h1>
      </div>
    </a-レイアウトコンテンツ>
  </a-レイアウト>

 
</テンプレート>

効果は以下のとおりです。

3.電子書籍テーブルを表示する

やるべきこと:

  • テーブルレンダリング
  • slots : カスタムレンダリング
  • title : ヘッダーレンダリング
  • customRender : 値のレンダリング

サンプルコードは次のとおりです。

<テンプレート>
  <a-layout クラス="layout">
    <レイアウトコンテンツ
        :style="{ 背景: '#fff', パディング: '24px', 最小高さ: '280px' }">
      <a-table :columns="列"
               :data-source="ebooks1"
               :pagination="ページ区切り"
               :loading="読み込み中"
      >
        <テンプレート #cover="{ テキスト: カバー }">
          <img v-if="カバー" :src="カバー" alt="アバター"/>
        </テンプレート>
        <テンプレート #name="{ テキスト: 名前 }">
          <a>{{ テキスト }}</a>
        </テンプレート>
        <テンプレート #カスタムタイトル>

      <span>
        <smile-outlined/>
        名前
      </span>
          </テンプレート>
          <テンプレート #action="{ レコード }">
      <span>
        <a-スペースサイズ="small">
            <a-button type="primary" @click="編集(記録)">
              編集</a-button>
             <a-button type="危険">
                削除</a-button>
          </a-スペース>
      </span>
          </テンプレート>
      </a-テーブル>
    </a-レイアウトコンテンツ>
  </a-レイアウト>

</テンプレート>
<script lang="ts">
'@ant-design/icons-vue' から {SmileOutlined、DownOutlined} をインポートします。
'vue' から {defineComponent、onMounted、reactive、ref、toRef} をインポートします。
'axios' から axios をインポートします。

エクスポートデフォルトdefineComponent({
  名前: 'AdminEbook',
  設定() {
    const ページネーション = {
      onChange: (ページ: 番号) => {
        console.log(ページ);
      },
      ページサイズ: 3,
    };

    const ロード = ref(false);
    定数列 = [
      {
        タイトル: 「カバー」、
        データインデックス: 'カバー',
        スロット: {customRender: 'cover'}
      },
      {
        タイトル: '名前',
        データインデックス: '名前'
      },
      {
        タイトル:「分類1」、
        データインデックス: 'category1Id',
        キー: 'category1Id',
      },
      {
        タイトル:「分類2」
        データインデックス: 'category2Id',
        キー: 'category2Id',
      },
      {
        タイトル: 「文書数」
        データインデックス: 'docCount'
      },
      {
        タイトル: 「読書番号」
        データインデックス: 'viewCount'
      },
      {
        タイトル: 「いいね数」
        データインデックス: 'voteCount'
      },
      {
        タイトル: 「アクション」
        キー: 'アクション'、
        スロット: {customRender: 'action'}
      }
    ];
    //データバインディングにはrefを使用します。const ebooks = ref();
    // リアクティブデータバインディングを使用する const ebooks1 = reactive({books: []})
    マウント時(() => {
      axios.get("/ebook/list?name=").then(応答 => {
        定数データ = レスポンス.データ;
        ebooks.value = データコンテンツ;
        ebooks1.books = データコンテンツ;
      })
    })
    戻る {
      ページネーション、
      読み込み中、
      列、
      電子書籍1: 電子書籍、
      ebooks2: toRef(ebooks1, "書籍")
    }
  },
  コンポーネント:
    スマイルアウトライン、
    下向きのアウトライン、
  },
});
</スクリプト>
<スタイルスコープ>
画像 {
  幅: 50px;
  高さ: 50px;
}
</スタイル>

実際の効果:

2. 結論

tableコンポーネントの使用に慣れていない場合は、何度も試してみる必要があります。簡単に言えば、これはオブジェクト プロパティのマッピングです。

一般的には、ページを表示する前にデータをバインドする方がよいでしょう。よくわからない場合は、こちらの記事「Vue3 リスト インターフェース データ表示の詳細」を参照してください。

Vue3 テーブル コンポーネントの使用に関するこの記事はこれで終わりです。Vue3 テーブル コンポーネントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue Elementのテーブルコンポーネントをカプセル化する方法
  • Vue Elementのテーブルコンポーネントをカプセル化する詳細な例
  • vxe-table vue テーブル テーブル コンポーネント 関数
  • Vue.js はソート可能なテーブルコンポーネント関数の例を実装します
  • Vue でシンプルなテーブルコンポーネントを実装する詳細な例
  • Vue 固定ヘッダー、固定列、クリック テーブル ヘッダー、ソート可能なテーブル コンポーネント
  • Vue.js テーブルコンポーネントの開発の詳細な例
  • Vue+elementuiはドロップダウンテーブルの複数選択と検索機能を実現します
  • vue+Element のテーブルは編集可能です (ドロップダウン ボックスを選択)
  • Vueはドロップダウンテーブルコンポーネントを実装します

<<:  MySQL 8.0 オンライン DDL クイック列追加の概要

>>:  DockerでMongoDBコンテナをデプロイする方法

推薦する

MySQL UNION演算子の基本知識ポイント

MySQL UNION 演算子このチュートリアルでは、MySQL UNION 演算子の構文と例を紹介...

xshellリモート接続の自動切断の問題の解決方法の詳細な説明

xshell を使用したリモート接続システムの自動切断の問題の解決策: 1. サーバー構成サーバーは...

コピー&ペーストはパッケージングの敵です

OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...

追加、削除、変更、クエリを実行するための JS 操作オブジェクト配列のサンプルコード

1. はじめに最近、私は友人が JSON 配列を追加、削除、変更するための簡単なページを作成するのを...

フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...

MySQL NULLデータ変換方法(必読)

MySQL を使用してデータベースをクエリし、左結合を実行すると、関連付けられたフィールドの一部に...

MySQL での replace と replace into の使い方の説明

MySQL の replace と replace into はどちらも頻繁に使用される関数です。r...

CSSは、マウスを線の上に置くと線全体の色を変える効果を実現します。

まとめ:以下のように、CSS で指定した行にマウスを置いたときに行全体の色を変更する方法を示します。...

さまざまなSQL結合を簡単に学ぶ

SQL JOIN 句は、テーブル間の共通フィールドに基づいて 2 つ以上のテーブルの行を結合するため...

MySQL の準同期レプリケーションについての簡単な説明

導入MySQL はレプリケーションを通じてストレージ システムの高可用性を実現します。現在、MySQ...

外部キー制約を持つテーブルデータを削除する MySQL メソッドの紹介

MySQLでテーブルやデータを削除する場合、 [エラー] 1451 - 親行を削除または更新できませ...

nginx でディレクトリ ホワイトリストと IP ホワイトリストを設定する方法

1. ディレクトリホワイトリストを設定する:指定されたリクエストパスに制限を設定しないでください。た...

よくあるNginxの設定ミスの例

目次ルートの場所が見つかりませんオフバイスラッシュ安全でない変数の使用スクリプト名$uri を使用す...

docker version es、milvus、minio 起動コマンドの詳細な説明

1. es起動コマンド: docker run -itd -e TAKE_FILE_OWNERSHI...