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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: css input[type=file] スタイルの美化 (入力アップロードファイルスタイル)
>>: MySQL における楽観的ロック、悲観的ロック、MVCC の包括的な分析
この記事では、参考として MySQL 5.7.23 のインストール チュートリアルを記録します。 1...
この記事の例では、ミニプログラムのカスタムタブバーコンポーネントをカプセル化するための具体的なコード...
環境セントロス6.6 MySQL 5.7インストールシステムがインストールされている場合は、まずアン...
最新の Ubuntu Server バージョンを使用している場合、ようこそメッセージに、Ubuntu...
全文インデックスには特別なクエリ構文が必要です。全文検索はインデックスの有無にかかわらず実行できます...
この記事では、例を使用して、CentOS プラットフォーム上で LAMP 環境を迅速に構築する方法に...
nginx サーバーnginx は、静的ファイルの処理に非常に効率的な優れた Web サーバーです。...
require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...
この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...
目次解決策1: EUIの転送コンポーネントをコピーして変更し、プロジェクトディレクトリに導入する解決...
目次CentOS rpm のインストールと Nginx の設定導入rpm パッケージのインストールサ...
リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...
目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...
複雑なテーブル構造では、一部のセルが垂直方向に複数のセルにまたがるため、列間属性 COLSPAN を...
この記事の例では、タイプライター効果を実現するためのjsの具体的なコードを参考までに共有しています。...