要素テーブルの行と列のドラッグを実装する例

要素テーブルの行と列のドラッグを実装する例

要素 ui テーブルにはドラッグ アンド ドロップによる並べ替え機能が組み込まれておらず、サードパーティのプラグインである Sortablejs の助けを借りてのみ実装できます。まずは動的な画像を見て、効果が期待どおりかどうかを確認しましょう。


まずSortable.jsをインストールする必要があります

npm をインストール sortablejs --save

引用する

'sortablejs' から Sortable をインポートします。

要素テーブルでは、ID などの一意の行キーを指定する必要があることに注意してください。そうしないと、誤った並べ替えが発生します。

###サンプルコード

<テンプレート>
  <div スタイル="width:800px">

    <el-table :data="テーブルデータ"
      国境
      行キー="id"
      align="left">
     <el-table-column v-for="(item, index) in col"
        :key="`col_${index}`"
        :prop="dropCol[インデックス].prop"
        :label="item.label"> 
      </el-table-column>
    </el-table>
    <pre style="text-align: left">
      {{ドロップコル}}
    </pre>
    <時間>
    <pre style="text-align: left">
      {{テーブルデータ}}
    </pre>
  </div>
</テンプレート>
<スクリプト>
'sortablejs' から Sortable をインポートします。
エクスポートデフォルト{
  データ() {
    戻る {
      列: [
        {
          ラベル: '日付'、
          プロパティ: '日付'
        },
        {
          ラベル: '名前',
          プロパティ: '名前'
        },
        {
          ラベル: '住所'、
          プロパティ: 'アドレス'
        }
      ]、
      ドロップコル: [
        {
          ラベル: '日付'、
          プロパティ: '日付'
        },
        {
          ラベル: '名前',
          プロパティ: '名前'
        },
        {
          ラベル: '住所'、
          プロパティ: 'アドレス'
        }
      ]、
      テーブルデータ: [
        {
          id: '1',
          日付: '2016-05-02'、
          名前: '王小虎1',
          住所: 上海市普陀区金沙江路100号
        },
        {
          id: '2',
          日付: '2016-05-04'、
          名前: '王小虎2',
          住所: 上海市普陀区金沙江路200号
        },
        {
          id: '3',
          日付: '2016-05-01'、
          名前: '王小虎3',
          住所: 上海市普陀区金沙江路300号
        },
        {
          id: '4',
          日付: '2016-05-03'、
          名前: '王小虎4',
          住所: 上海市普陀区金沙江路400号
        }
      ]
    }
  },
  マウント() {
    this.rowDrop()
    this.columnDrop()
  },
  メソッド: {
    //行ドラッグ rowDrop() {
      const tbody = document.querySelector('.el-table__body-wrapper tbody')
      const _this = これ
      ソート可能.create(tbody, {
        onEnd({ 新しいインデックス、 古いインデックス }) {
          const currRow = _this.tableData.splice(oldIndex, 1)[0]
          _this.tableData.splice(新しいインデックス、0、currRow)
        }
      })
    },
    //列ドラッグcolumnDrop() {
      const wrapperTr = document.querySelector('.el-table__header-wrapper tr')
      this.sortable = Sortable.create(wrapperTr, {
        アニメーション: 180,
        遅延: 0,
        onEnd: イベント => {
          定数 oldItem = this.dropCol[evt.oldIndex]
          this.dropCol.splice(evt.oldIndex, 1)
          this.dropCol.splice(evt.newIndex, 0, oldItem)
        }
      })
    }
  }
}
</スクリプト>
<スタイルスコープ>
</スタイル>

これで、要素テーブルで行と列をドラッグする実装例に関するこの記事は終了です。要素テーブルで行と列をドラッグする関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue Element Sortablejs を使用してテーブル列をドラッグする詳細な説明
  • Elementui テーブル コンポーネント + sortablejs を使用して行のドラッグ アンド ドロップによる並べ替えを実装するサンプル コード
  • sortable+elementを使用してテーブル行をドラッグする方法の例

<<:  Nginx ログ出力のリクエスト後パラメータを設定する方法

>>:  MySQLのexplain型の詳細な説明

推薦する

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

ES6スプレッド演算子の使用例

目次スプレッド演算子とレスト演算子とは何ですか?配列スプレッド演算子残り演算子(コレクション関数)ス...

MySQL でプロファイルを使用する方法のチュートリアル

プロフィールとは何ですか?特定の SQL のパフォーマンスを分析したい場合に使用できます。プロファイ...

MySQLのグループカウントと範囲集計を実装する2つの方法

1つ目:通常動作 選択 SUM(ddd) AS count_days、 場合 aa.days >...

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...

MySQL UPDATE ステートメントの「典型的な」落とし穴

目次1. 問題のあるSQL文たとえば、次の図のような質問をした人がいました。 問題は次のように要約で...

MYSQL パフォーマンス アナライザー EXPLAIN 使用例分析

この記事では、例を使用して MYSQL パフォーマンス アナライザー EXPLAIN の使用方法を説...

Windows 7 での MySQL 8.0.18 の導入とインストールのチュートリアル

1. 事前準備 (windows7+mysql-8.0.18-winx64) 1. ダウンロードアド...

ElementUI の this.$notify.close() 呼び出しが機能しない問題の解決方法

目次要件の説明問題の説明問題分析問題解決質問の拡張要件の説明このプロジェクトでは、まずユーザーが質問...

MySQLで更新可能なビューを作成する方法の詳細な説明

この記事では、例を使用して、MySQL で更新可能なビューを作成する方法について説明します。ご参考ま...

Nginx プロキシ転送構成を通じてクロスドメイン API プロキシ転送を実装する方法

序文WEB 開発では、クロスドメイン リクエストが頻繁に発生します。クロスドメインの問題を解決する方...

JSタイマーを使用して要素を移動する

JS タイマーを使用して、要素に移動する効果のあるメソッドを作成します。実装のアイデアは、まず要素の...

ウェブサイトのホームページを作成するための基本原則

1. ウェブサイトのホームページのハイパーテキスト ドキュメントの構成構造は、ユーザーの注意をできる...

ユーザー名が使用可能かどうかを確認するVueメソッド

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

Vue での bimface の使用に関する詳細

目次1. Vue スキャフォールディングをインストールする2. プロジェクトを作成する3.1 プロジ...