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コンテナをデプロイする方法

推薦する

Ubuntu 16.04にJenkinsをインストールするための詳細な手順

1. 前提条件JDKがインストールされましたecho $PATHソフトリンクを作成し、JDKのインス...

MySQLデータベースのQPSとTPSの意味と計算方法

DB ベンチマーク テストを実行する場合、qps と tps はデータベースのパフォーマンスを測定す...

MySQL 8.0.16 圧縮版のダウンロードと Win10 システムへのインストール チュートリアル

公式サイトからダウンロード: https://www.mysql.com MySQLの公式サイトにア...

Reactは一般的なスケルトン画面コンポーネントの例を実装します

目次スケルトンスクリーンとは何ですか?デモデザインのアイデア具体的な実装スケルトンスクリーンとは何で...

MySQL の group by に関する簡単な説明

目次1. はじめに2. ユーザーテーブルを準備する2.1 グループ化ルール2.2 グループの使用2....

Django プロジェクトを作成して MySQL に接続する方法

1: django-admin.py startproject プロジェクト名2: cd プロジェク...

Linux で Grafana をインストールし、InfluxDB モニタリングを追加する方法

Grafana をインストールします。公式 Web サイトでは、直接インストールできる Ubuntu...

この記事では、MySQLのマスタースレーブ同期の原理を説明します。

目次MySQL マスタースレーブ同期原理の簡単な分析1. マスタースレーブとは何ですか? 2. 主従...

MySql における無効な Null セグメント判定と IFNULL() 失敗の解決策

MySql Nullフィールド判定とIFNULL失敗処理ps: (プロセスを表示したくない場合は、S...

CentOS7 で jar アプリケーションの起動を設定する方法

プロジェクトの展開中に遭遇した落とし穴Zhihudemo を展開する際、Jenkins などの自動展...

MySQLとPythonの相互作用の例

目次1. データを準備するデータテーブルを作成するデータの挿入2. SQLドリル1. SQL文の強化...

Linux で so または実行可能プログラムの依存ライブラリを表示します

Linux で実行可能プログラムまたは so の依存ライブラリを表示します。 Linux の実行可能...

MySQL で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...

HTML 挿入画像の例 (HTML 追加画像)

HTML に画像を挿入するには、画像を表示するための HTML タグが必要です。これは、img タ...

mySQLキーワードの実行優先度の説明

以下のように表示されます。表から条件フィールドでグループ化仮想テーブルとフィールドを作成し、フィール...