el-table ヘッダーでテキストを折り返す 3 つの方法の詳細な説明

el-table ヘッダーでテキストを折り返す 3 つの方法の詳細な説明

問題の説明

通常、表のヘッダーは折り返されませんが、ビジネス シナリオによっては、ヘッダー内のテキストを折り返す必要がある場合があります。まずは効果図を見てみましょう。

レンダリング

3種類のコード

コメントを読んでみてください。
デモの場合は、コピーして貼り付けて実行するだけです。

<テンプレート>
  <div class="vueWrap">
    <el-テーブル
      スタイル="幅: 900px"
      :data="テーブル本体"
      国境
      :ヘッダーセルスタイル="{
        背景: '#FAFAFA',
        色: '#333333',
        フォントの太さ: '太字'、
        フォントサイズ: '14px',
      }"
    >
      <el-テーブル列
        タイプ="インデックス"
        label="シリアル番号"
        幅="58"
        align="center"
      </el-table-column> ...

      <!-- ヘッダー折り返し方法 1: ヘッダー スロット メソッドを使用して、ヘッダー テキストを 2 つの div に分割します。div ボックスはブロック要素であるため、2 つの div が折り返され、ヘッダーも折り返されます。この方法は、固定データのヘッダー折り返しに適しています -->
      <el-table-column prop="ツール名" width="180" align="center">
        <テンプレートスロット="ヘッダー">
          <div>ツールボックス</div>
          <div>部品名</div>
        </テンプレート>
        <テンプレート スロット スコープ="スコープ">
          <span>{{ スコープ.行.ツール名 }}</span>
        </テンプレート>
      </el-table-column>

      <el-table-column label="サプライヤー" prop="サプライヤー" width="120" align="center">
      </el-table-column>

      <!-- 表ヘッダーの改行方法 2。方法 1 と比較すると、この方法では /n 改行文字と CSS の空白スペース ブランク スタイル コントロールを使用します -->
      <el-テーブル列
        :label="labelFn()"
        prop="サプライヤー国"
        幅= "180"
        align="center"
      >
      </el-table-column>

      <!-- 表ヘッダーの改行方法 3、動的方法 -->
      <el-テーブル列
        v-for="(item, index) in tableHeader"
        :key="インデックス"
        :label="アイテム.ラベル名"
        :prop="アイテム.propName"
        幅= "180"
        align="center"
        :render-header="レンダリングヘッダー"
      </el-table-column> ...
    </el-table>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  データ() {
    戻る {
      // 動的データテーブルヘッダーはバックエンドから返される必要があり、改行が必要な箇所はカンマで区切る必要があります。tableHeader: [
        {
          labelName: "モデル001、価格(元)",
          プロパティ名: "typeOne",
        },
        {
          labelName: "モデル002、価格(元)",
          プロパティ名: "typeTwo",
        },
      ]、
      // テーブル本体データ tableBody: [
        {
          id: "2021111101",
          ツール名: "5G サービス",
          サプライヤー:「Huawei」、
          サプライヤー国: "中国",
          タイプ1: "8888888",
          タイプ2: "9999999",
        },
        {
          id: "2021111101",
          ツール名: "6G-SERVER",
          サプライヤー:「中国には明るい未来がある」
          サプライヤー国: "中国",
          タイプ1: "678678678",
          タイプ2: "789789789",
        },
      ]、
    };
  },
  メソッド: {
    ラベル関数() {
      // 必要な場所に改行を追加し、下部に空白スタイルで return `supplier_ncountry` を設定します。
    },

    // Ele.me UI のヘッダー関数レンダリング方法は、ヘッダー スロット メソッドと多少似ています // ヘッダー データ テキストを 2 つに分割し、コンテンツを 2 つの div にレンダリングします (div は自動的に折り返されます)
    レンダリングヘッダー(h, {列, $index }) {
      h("div", {}, [ を返します。
        h("div", {}, 列ラベル分割(",")[0]),
        h("div", {}, 列ラベル分割(",")[1]),
      ]);
    },
    
  },
};
</スクリプト>
<style lang="less" スコープ>
/deep/ .el-table th.el-table__cell > .cell {
  空白: 前;
  // white-space: pre-wrap; // も機能します。
  
}
</スタイル>

空白の詳細についてはここでは触れません。詳細については、公式ドキュメント developer.mozilla.org/zh-CN/docs/Web/CSS/white-space を参照してください。

要約する

3 つの方法にはそれぞれ特徴がありますが、render-header はパフォーマンスを少し消費します。
ヘッダーデータが固定されている場合は、まずヘッダースロット方式を使用し、次に改行と CSS を組み合わせた方式を使用することをお勧めします。
動的データの場合は、ヘッダーのrenderheader関数のみ使用できます。

el-table のヘッダーテキストを折り返す 3 つの方法についての記事はこれで終わりです。el-table のヘッダーテキストを折り返す 3 つの方法についての詳細は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • el-tableヘッダーはコンテンツに適応し、ヘッダーのずれや固定列のずれを完全に解決します。
  • vue el-table はカスタム テーブル ヘッダーを実装します
  • VUE2.0+ElementUI2.0 テーブル el-table はヘッダー拡張 el-tooltip を実装します

<<:  HTML のメタタグの簡単な比較

>>:  パーティクルダイナミックボタン効果を実現するCSS

推薦する

MySQLで自動作成時間と変更時間を設定する方法の例

この記事では、MySQL の自動作成時刻と変更時刻を設定する方法について説明します。ご参考までに、詳...

MySQL クエリ ステートメントのプロセスと EXPLAIN ステートメントの基本概念とその最適化

ウェブサイトやサービスのパフォーマンスは、データベースの設計(適切な言語開発フレームワークを選択した...

データベースクエリの最適化: サブクエリの最適化

1. 事例会社のトップ以外の従業員全員を年齢別にグループ化します。 t_emp で id が存在しな...

Vue Element フロントエンドアプリケーション開発: Vuex での API ストアビューの使用

目次概要1. フロントエンドとバックエンドの分離とWeb APIの優先ルート設計2. Axiosネッ...

JavaScript ファイルの読み込みとブロックの問題: パフォーマンス最適化のケーススタディ

まず質問させてください。HTML ページを作成するときに、外部から JS ファイルをインポートする場...

vue-cli 設定では Vuex の完全なプロセスレコードを使用します

目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...

NextCloud プライベート クラウド ストレージ ネットワーク ディスクの構築に関する詳細なチュートリアル

Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...

Tomcat を IDEA にダウンロード、インストール、デプロイするチュートリアル (IDEA の 2 つのホット デプロイ設定方法付き)

目次Tomcat ダウンロードチュートリアルTomcat インストールチュートリアルTomcat の...

シンプルなスネークゲームを実現するネイティブjs

この記事では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

uniapp 要素ノードスタイルの動的変更の詳細な説明

目次1. スタイル属性をバインドして変更するhtml:対応するjs:達成された効果:次に、refを使...

ソースコードから、Vue2がデータとメソッドを直接取得できる理由がわかる

目次1. 例: これはデータとメソッドを直接取得できます2. 環境を準備し、ソースコードをデバッグし...

JavaScript の useRef と useState の紹介

目次1. useStateフック2. useRefフック3. useRef と useState 4...

Linux 上の MySQL 5.7 でパスワードを忘れる問題を解決する

1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...

Dockerの高可用性構成の詳細な説明

Docker の作成Docker Compose は、管理対象コンテナをプロジェクト、サービス、コン...

Filebeat を使用して Nginx ログを収集する方法

Nginx ログは、ユーザーの住所の場所や行動プロファイルなどを分析するために使用できます。Elas...