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

推薦する

CSSのborder-radiusプロパティを使用して円弧を設定します

現象: divを一定の振幅で円、楕円などに変更する方法: CSSのborder-radiusプロパテ...

VMware は Centos7 システムの PXE+kickstart 無人インストールの詳細なプロセスを実装します

目次PXEはサーバーの無人バッチ展開を実装します1. PXEの概要1.1 PXEとは何か1.2 キッ...

...

CSS3 タイムラインアニメーション

成果を達成する html <h2>CSS3 タイムライン</h2> <...

JavaScript を使用した数独の完全な実装プロセス

目次序文数独の解き方最初のボックスに記入してください2番目のボックスに記入してください3番目のボック...

JavaScriptでマクロを使用する方法

言語では、DSL を実装するためにマクロがよく使用されます。マクロを使用すると、開発者は JSX 構...

Kali に docker と portainer をインストールする方法

dockerの登場により、多くのサービスが徐々にハードウェアアーキテクチャへの依存から脱却しました。...

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

Mysqlの同時パラメータ調整の詳細な説明

目次クエリキャッシュの最適化概要クエリプロセスクエリキャッシュ構成クエリキャッシュの無効化メモリ管理...

Firefox の CSS を使用してデータを盗む

0x00 はじめに数か月前、Firefox に脆弱性 (CVE-2019-17016) があること...

Docker-compose を使用して ELK をデプロイするためのサンプル コード

環境ホストIP 192.168.0.9 Docker バージョン 19.03.2 docker-co...

Vue の v-model ディレクティブと .sync 修飾子の違いの詳細な説明

目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...

vitrualBox+ubuntu16.04 python3.6 最新チュートリアルと詳細な手順のインストール

最近ディープラーニングを学ぶためにUbuntu+Python 3.6バージョンを使う必要があるため、...

MySQL の制限パフォーマンス分析と最適化

1. 結論構文: 制限オフセット、行結論: 同じ行条件では、オフセット値が大きいほど、limitステ...

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...