Vue+el-tableはセルの結合を実現します

Vue+el-tableはセルの結合を実現します

この記事の例では、参考までにセルの結合を実現するためのel-tableの具体的なコードを共有しています。具体的な内容は次のとおりです。

el-table セルの結合 (vue+element)

- まずel-tableに以下を入力します: span-method="arraySpanMethod"

<el-table :header-cell-style="{background:'#eef1f6',color:'#606266'}" :data="merchantList" border :span-method="arraySpanMethod">
          <el-table-column align="center" prop="provinceName" label="州"> </el-table-column>
          <el-table-column align="center" label="エージェント名">
            <テンプレートスコープ="スコープ">
              <span>{{scope.row.parentMerchantName == scope.row.merchantName ? '---' : scope.row.parentMerchantName}}</span>
            </テンプレート>
          </el-table-column>
          <el-table-column align="center" prop="cityName" label="市"> </el-table-column>
          <el-table-column align="center" prop="countryName" label="区"> </el-table-column>
          <el-table-column align="center" prop="merchantName" label="店铺"> </el-table-column>
</el-table>

メソッドを methods に記述します。

//セルを結合する arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 0){//最初の列、provinceのマージメソッド const _row_1 = this.provinceArr[rowIndex];
        const _col_1 = _row_1 > 0 ? 1 : 0; // 結合されている場合、_row=0 なので、この列はキャンセルする必要があります return {
          行範囲: _row_1,
          列範囲: _col_1
        }
      } 
    },
    // 初期化merageInit() {
      this.provinceArr = []
      this.provincePos = 0
    },
    //配列をマージする方法 merge() {
      this.merageInit()
      (var i = 0; i < this.merchantList.length; i++) {
        (i === 0)の場合{
          //最初の行が存在する必要があります this.provinceArr.push(1)
          this.provincePos = 0
        } それ以外 {
          // 現在の要素が前の要素と同じかどうかを判断します。this.provincePos は、provinceArr コンテンツのシリアル番号です。//province if (this.merchantList[i].provinceName === this.merchantList[i - 1].provinceName) {
            this.provinceArr[this.provincePos] += 1
            this.provinceArr.push(0)
          } それ以外 {
            this.provinceArr.push(1)
            this.provincePos = i
          }
        }
      }
    },

結果:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue はセルを動的に結合し、小計を追加する関数の例
  • Vueセルの複数列を結合する実装
  • Antd vue テーブルは行間でセルを結合し、コンテンツ インスタンスをカスタマイズします。
  • Vueでは、element-uiテーブルは上行と下行の同じデータセルを結合します

<<:  MySQLメモリストレージエンジンに関する知識

>>:  MySQLにおけるMTRの概念

推薦する

ウェブサイトレイアウトにおける CSS の計算関数 calc の例

calc は数値を計算するために使用される CSS 関数です。長さ、角度、時間などを計算できます。 ...

CSSアニメーションを途中で止めて姿勢を維持する方法

序文かつて、難しい問題に遭遇しました。タワークレーンからスイングハウスを落下させる必要がありましたが...

Docker コンテナの正常なシャットダウン前にトラップを使用して環境のクリーンアップを実行する

実行中のコンテナが終了したときに、コンテナが完全に終了する前に環境をクリーンアップするなど、いくつか...

Vueデータ監視の原理の詳細な説明

目次1. はじめにII. 監視対象2.1 なぜオブジェクトを監視する必要があるのですか? 2.2 デ...

CSS の記述基準と順序を共有する [すべての人に使用を推奨]

CSSの記述順序1. 位置属性(位置、上、右、z-index、表示、フロートなど) 2. サイズ(...

Linux sedコマンドの使用

1. 機能紹介sed (Stream EDitor) は、コンテンツを 1 行ずつ処理するストリーム...

MySQL マスタースレーブ同期、トランザクションロールバックの実装原理

ビンログBinLog は、データベース テーブル構造の変更 (テーブルの作成、変更など) とテーブル...

Vueシャトルボックスは上下の動きを実現します

この記事の例では、vueシャトルボックスを上下に動かすための具体的なコードを参考までに共有しています...

Linux 論理ボリューム管理 (LVM) の使用法の概要

ディスク領域の管理は、システム管理者にとって重要な日常的なタスクです。ディスク領域が使い果たされると...

React Nativeでシンプルなゲームエンジンを作る

目次導入始めるReact Nativeゲームエンジンの簡単な紹介React Nativeでスネークゲ...

Linuxでkv設定ファイルを変更するにはsedコマンドを使用します

sed は Unix の文字ストリーム エディタ、つまりストリーム エディタです。行指向であり、行単...

MySQL 8 の新機能: 非表示のインデックス

背景インデックスは諸刃の剣です。クエリ速度は向上しますが、DML 操作も遅くなります。結局のところ、...

MySQL複合インデックスの詳細な研究

複合インデックス (結合インデックスとも呼ばれます) は、複数の列に対して作成されるインデックスです...

MySQLデータベースは重複データを削除し、メソッドインスタンスを1つだけ保持します

1. 問題の紹介ユーザー テーブルに 3 つのフィールドが含まれているシナリオを想定します。 id、...