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 5.7.23 のインストールと設定方法のグラフィックチュートリアル

この記事では、参考として MySQL 5.7.23 のインストール チュートリアルを記録します。 1...

ミニプログラムカスタムタブバーコンポーネントのカプセル化

この記事の例では、ミニプログラムのカスタムタブバーコンポーネントをカプセル化するための具体的なコード...

Centos6にMysql5.7をインストールする方法

環境セントロス6.6 MySQL 5.7インストールシステムがインストールされている場合は、まずアン...

Ubuntu Server のターミナルのウェルカム メッセージで広告を無効にする方法

最新の Ubuntu Server バージョンを使用している場合、ようこそメッセージに、Ubuntu...

MySQL 全文インデックスガイド

全文インデックスには特別なクエリ構文が必要です。全文検索はインデックスの有無にかかわらず実行できます...

CentOS プラットフォーム上で LAMP 環境を素早く構築する方法

この記事では、例を使用して、CentOS プラットフォーム上で LAMP 環境を迅速に構築する方法に...

nginx を使用して正規表現で指定された URL リクエストを傍受する方法

nginx サーバーnginx は、静的ファイルの処理に非常に効率的な優れた Web サーバーです。...

node.js の require メソッドの読み込みルールの詳細な説明

require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...

Vuex はシンプルなショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...

大量のデータを含むエレメントのシャトルボックスで「すべて選択」をクリックするとスタックする問題の解決方法

目次解決策1: EUIの転送コンポーネントをコピーして変更し、プロジェクトディレクトリに導入する解決...

CentOS システムの rpm インストールと Nginx の設定

目次CentOS rpm のインストールと Nginx の設定導入rpm パッケージのインストールサ...

WangEditor リッチ テキスト コンポーネントを Angular でカプセル化する方法

リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...

JS関数の継承について学ぶ記事

目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...

HTML テーブルタグチュートリアル (35): 列間属性 COLSPAN

複雑なテーブル構造では、一部のセルが垂直方向に複数のセルにまたがるため、列間属性 COLSPAN を...

タイプライター効果を実現する純粋な js

この記事の例では、タイプライター効果を実現するためのjsの具体的なコードを参考までに共有しています。...