VUE 元素拖拽、移動

来源:https://www.cnblogs.com/qdclub/archive/2019/10/30/11763015.html
-Advertisement-
Play Games

元素拖拽 作者:一粒塵土 時間:2019 10 30 使用範圍:兩個元素位置交換,移動元素到指定位置 涉及函數 |屬性|解釋 |: |: | |draggable|是否允許元素進行拖拽| |dragstart|拖拽開始觸發的函數,可在此獲取元素| |dragover|在目標元素內進行拖動時觸發的函數 ...


元素拖拽

作者:一粒塵土  時間:2019-10-30 
使用範圍:兩個元素位置交換,移動元素到指定位置

涉及函數

屬性 解釋
draggable 是否允許元素進行拖拽
dragstart 拖拽開始觸發的函數,可在此獲取元素
dragover 在目標元素內進行拖動時觸發的函數
dragenter 當拖拽進入目標元素時出發的函數
dragend 拖拽結束

快速熟悉上邊表格的知識點,然後結合如下的小demo進行加深記憶

html

<div
  :key="imgIdx"
  v-for="(img, imgIdx) in result"
  :style="'background-image: url('+img.gallery_image_url+');'"
  class="dib wi-17x ht-11x bdr-3 centerimage mr-14 mb-14 pr of-h hover-item graylight-bg"
  :draggable="allowHandle"
  @dragenter="dragEnter($event, img)"
  @dragend="dragEnd($event, img)">
</div>

js

data () {
    return {
        drawTargetEle: {}
    }
},
methods: {
    /**
     * 推拽開始,解決火狐無法拖拽情況
    */
    dragStart (e, item) {
      if (this.allowHandle) {
        e.dataTransfer.setData('aaa', null)
      }
    },
    /**
     * 拖拽元素至目標元素內時觸發
     * @item 目標元素
     * @info 可在此處獲取,拖拽元素的一系列屬性
    */
    dragEnter (e, item) {
      if (this.allowHandle) {
        // 獲取推拽的目標元素
        this.drawTargetEle = item
      }
    },
    /**
     * 拖拽完成之後觸發
     * @item 目標元素
     * @info 可在此處獲取,拖拽元素的目標元素一系列屬性
    */
    dragEnd (e, item) {
      console.log(item)
      /**
       * 進行拖拽完成的操作
       */
    },
    
}

註解

  • 另外如需有需監聽元素的拖拽情況,可調用對應的函數即可。
  • 如果不允許拖動到該元素區域內,可在dragover、dragenter中設置dropEffect:none;禁止拖拽。

歡迎大家關註我的微信公眾號,一起學習一起進步

代碼小書生代碼小書生

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 序言 隨著用戶量越來越多,業務方關於用戶體驗的要求也在不斷提高,首屏渲染時間就成為了一個提高用戶體驗的指標,減少用戶等待的時間,在一定程度上就會提高用戶的留存。 頁面載入渲染是怎樣的一個過程 參考自Chrome的First Paint Send Request:表示給這個外鏈對應的伺服器發送請求 R ...
  • 在說虛擬DOM之前,先來一個引子,從輸入url到展現出整個頁面都有哪些過程? 1、輸入網址 2、DNS解析 3、建立tcp連接 4、客戶端發送HTPP請求 5、伺服器處理請求 6、伺服器響應請求 7、瀏覽器展示HTML 8、瀏覽器發送請求獲取其他在HTML中的資源。 其中瀏覽器展示HTML經過了:構 ...
  • 對象(object)是 JavaScript 最重要的數據結構。ES6 對它進行了重大升級,本章介紹數據結構本身的改變及語法應用細節。 ...
  • “JSX” JSX就是Javascript和XML結合的一種格式。是一個 JavaScript 的語法擴展。 React發明瞭JSX,利用HTML語法來創建虛擬DOM。當遇到<,JSX就當HTML解析,遇到{就當JavaScript解析。 JSX,是一個 JavaScript 的語法擴展。JSX 可 ...
  • vue,element列表大數據卡頓問題,vue列表渲染慢,element表格渲染慢,表格渲染慢(卡),表格全選卡 ...
  • 結論 3XX開頭的HTTP狀態碼都表示重定向的響應。 301、308是永久重定向;302、303、307是臨時重定向。 301、302是http 1.0的內容,303、307、308是http1.1的內容。 301和302本來在規範中是不允許重定向時改變請求method的(將POST改為GET),實 ...
  • 1. Safari 3D變換會忽略z index的層級 在Safari瀏覽器下(此Safari瀏覽器包括iOS的Safari,iPhone上的微信瀏覽器,以及Mac OS X系統的Safari瀏覽器),當我們使用3D transform變換的時候,如果祖先元素沒有overflow:hidden/sc ...
  • Link: "原文鏈接" 譯文開始: 對網站進行性能優化對一個最容易的方法就是把JS和CSS進行打包壓縮。但是當你需要調試這些壓縮文件中的代碼的時候,會發生什麼?可能會是一場噩夢。但是,不用害怕,即將有一個解決方案到來,它就是Source Maps。 source maps提供一種將壓縮文件中的代碼 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...