Vueはページdivボックスのドラッグアンドドロップソート機能を実装します

Vueはページdivボックスのドラッグアンドドロップソート機能を実装します

vue は、ページ上の div ボックスのドラッグ アンド ドロップ ソート機能を実装します。 序文: ドラッグ アンド ドロップ ソート機能を実装するプラグインやメソッドは市場に数多くあります。 このセクションでは詳細には触れず、1 つのメソッド、つまり CSS3 の transition-group メソッドについてのみ説明します。

効果画像:

1. DOMでの使用:

    <transition-group class="container" name="sort">
        <div class="app-item" v-for="customApps 内のアプリ" :key="app.id" :draggable="true"
            @dragstart="dragstart(アプリ)"
            @dragenter="dragenter(アプリ、$イベント)"
            @dragend="getDragend(customApps, '顧客', $event)">
            <div>
                <img class="icon_a" v-if="app.logo" :src="app.logo" >
                <div class="ellipsis" >{{app.name}}</div>
            </div>
        </div>
    </トランジショングループ>

2. データ内のデータを定義する

    '@/api/enterpriseAPi' から { APi } をインポートします。
    <スクリプト>
        エクスポートデフォルト{
            データ() {
                戻る {
                    古いデータ: [],
                    新しいデータ: [],
                    カスタムアプリ: [],
                    ドラッグ開始ID: ''、
                    ドラッグ終了ID: ''
                }
            }
        }
    </スクリプト>

3. メソッド内での使用

    ドラッグスタート(値) {
        this.oldData = 値
        this.dragStartId = 値.id
    },
    ドラジェンター(値) {
        this.newData = 値
        this.dragEndId = 値.id
    },
    getDragend(リストデータ、タイプ) {
            (this.oldData !== this.newData) の場合 {
                oldIndex = listData.indexOf(this.oldData) とします。
                newIndex = listData.indexOf(this.newData) とします。
                newItems = [...listData] とします
                // 前のDOMノードを削除します newItems.splice(oldIndex, 1)
                // ドラッグ ターゲットの末尾に新しい DOM ノードを追加します。newItems.splice(newIndex, 0, this.oldData)
                // 各ドラッグが完了すると、ドラッグによって処理されたデータが元の配列に割り当てられ、DOM ビューが更新され、ページにドラッグ アニメーションが表示されます。this.customApps = newItems
                // ドラッグが終了するたびにデータを保存するインターフェースを呼び出します Api(this.dragStartId, this.dragEndId).then((res) => {})
            }
        },

ドラッグ完了アニメーションスタイル:

    <style lang="scss" スコープ>
        .sort-move {
            遷移: 1 秒を変換します。
        }
    </スタイル>

これで、vue を使用してページ上の div ボックスのドラッグ アンド ソート機能を実装する方法についての記事は終了です。vue div ボックスのドラッグ アンド ソートに関するその他の関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vueはリストのドラッグとソートの機能を実装します
  • Vueはvuedraggableに基づいて選択、ドラッグ、ソート効果を実装します
  • vue ドラッグ コンポーネント vuedraggable API オプションは、ボックス間の相互ドラッグと並べ替えを実現します。
  • Vue をベースにスムーズな遷移のドラッグ アンド ドロップ ソート機能を実装する
  • Vue ドラッグ可能なコンポーネントを使用して、Vue プロジェクトでテーブル コンテンツのドラッグ アンド ドロップによる並べ替えを実装します。
  • vue.draggableはテーブルのドラッグアンドドロップソート効果を実現します
  • vuedraggable+element uiは、ページコントロールのドラッグアンドドロップソート効果を実現します。
  • Vueのドラッグアンドドロップソートプラグインvuedraggableの使い方を詳しく説明します

<<:  css input[type=file] スタイルの美化 (入力アップロードファイルスタイル)

>>:  MySQL における楽観的ロック、悲観的ロック、MVCC の包括的な分析

推薦する

MySQL 8.0.17 インストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.17のインストールグラフィックチュートリアルを紹介します...

MySQL シリーズ 8 MySQL サーバー変数

チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...

MySQL でタイムスタンプを日付に変換する例

序文職場で次のような状況に遭遇しました。ログ システムのテーブルでは、時間フィールドには日付データで...

なぜCSSをヘッドタグに配置する必要があるのか

考えてみてください。なぜcss 、 javascriptのようにbodyタグの末尾ではなく、 hea...

Docker ビルド PHP 環境チュートリアル詳細説明

Dockerのインストール公式インストールスクリプトを使用して最新バージョンのDockerをインスト...

MySQL データベース テーブルとデータベース パーティショニング戦略

まず、テーブルを分割する必要がある理由について説明します。データシートが数百万に達すると、1 回のク...

Vue のクロスドメイン問題の処理と解決策の概要

ネットワークリクエストを送信すると、次の保存情報が表示されます。おめでとうございます。ドメインを越え...

CSS3 を使用して楕円軌道の回転を実装するサンプルコード

最近、次のような効果を達成する必要がある最初は、CSS3D回転を使用して記述すると、次の効果しか得ら...

Node.js mysqlクライアントが認証プロトコルをサポートしていない問題を解決する

序文mysql モジュール (プロジェクト アドレスは https://github.com/mys...

VMware pro15 インストール macOS10.13 詳細インストール図(画像とテキスト)

編集者は最近、macOS システムを使い始めたかったので、VMware に macOS イメージ シ...

MySQL の問題を解決する: MSVCR120.dll が見つからないため、コードの実行を続行できません

1. 問題MySQL の初期化時に発生する問題は、次のとおりです。 1. 「MSVCR120.dll...

Linux で文字化けしたファイルや特殊文字のファイルを削除する方法

エンコーディングの理由により、Linux サーバーに中国語のファイルやディレクトリをアップロードまた...

WindowsでcmdからDOSウィンドウに入り、MySQLデータベースにアクセスします。

1. win + R を押して cmd と入力し、DOS ウィンドウに入ります。 2. MySQL...

MySQL接続がハングする理由の詳細な説明

目次1. 背景建築問題現象2. 分析プロセス接続プール不安に陥る雲を晴らして光を見よう3. 解決策I...

Vue の el-table は自動天井効果を実現します (固定をサポート)

目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...