vue拖拽組件vuedraggable使用說明詳解
vue拖拽組件vuedraggable的使用說明,供大家參考,具體內(nèi)容如下
需了解H5的draggable屬性,通過下面的代碼注釋,可了解
<!DOCTYPE html>
? <html lang="en">
? <head>
? ? <meta charset="UTF-8">
? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">
? ? <meta http-equiv="X-UA-Compatible" content="ie=edge">
? ? <title>Document</title>
? ? <style>
? ? ? .box {
? ? ? ? width:500px;
? ? ? ? height: 150px;
? ? ? ? border:1px solid black;
? ? ? ? margin-top: 40px;
? ? ? }
? ? </style>
??
? ? <script>
? ? ? function dragstart(event) {
??
? ? ? ?/*
? ? ? ?* 當(dāng)拖拽元素時(shí),會(huì)觸發(fā)dragstart事件,拖拽對(duì)象是通過事件對(duì)象event中的dataTransfer來傳輸數(shù)據(jù)的
? ? ? ?* 通過event.dataTransfer.setData("dragContent", event.target.id)
? ? ? ?* 將拖拽對(duì)象id存儲(chǔ)在dataTransfer中
? ? ? ?* */
? ? ? ? event.dataTransfer.setData("dragContent", event.target.id);
? ? ? }
??
? ? ? function drop(event){
? ? ? ? event.preventDefault();
? ? ? ? /*
? ? ? ? * 把元素放到目標(biāo)元素上時(shí),松開鼠標(biāo)觸發(fā)drop事件,
? ? ? ? * 通過event.dataTransfer.getData('dragContent')取出剛才存起來的id
? ? ? ? * 然后通過node.appendChild()把拖拽對(duì)象放入目標(biāo)容器中
? ? ? ? * */
? ? ? ? let data = event.dataTransfer.getData('dragContent');
? ? ? ? event.target.appendChild(document.getElementById(data))
? ? ? }
??
? ? ? function dragover(event) {
? ? ? ? event.preventDefault();
? ? ? ? /*
? ? ? ? ?* 特別聲明:如果不綁定此事件,drop 事件不會(huì)觸發(fā)
? ? ? ? ?*
? ? ? ? ?* 雖然已經(jīng)設(shè)定了元素可被拖動(dòng),但是瀏覽器默認(rèn)地,無法將數(shù)據(jù)/元素放置到其他元素中。
? ? ? ? ?* 如果有需要設(shè)置某些元素可接受被拖動(dòng)元素,則要阻止它的默認(rèn)行為,
? ? ? ? ?* 這要通過設(shè)置該接收元素的ondragover 事件,調(diào)用event.preventDefault() 方法
? ? ? ? */
? ? ? }
? ? </script>
? </head>
? <body>
? <!--給元素加上draggable=true 屬性,使元素可以被拖動(dòng)-->
? <div id='dragId' draggable='true' ondragstart="dragstart(event)">我是可以拖拽的文字</div>
??
? <div id='dragboxId' class="box" ondrop="drop(event)" ondragover='dragover(event)'></div>
??
??
? </body>
</html>vuedraggabe使用說明
首先通過yarn add vuedraggable或者npm i -S vuedraggable安裝組件
引入組件并在vue的components 中配置聲明
import draggable from 'vuedraggable'
? ...
? export default {
? ? ? ? components: {
? ? ? ? ? ? draggable,
? ? ? ? },
? ...直接通過draggable組件作為被動(dòng)元素的容器,即可實(shí)現(xiàn)內(nèi)部元素的拖拽
<draggable :list="myArray" group="people" @start="drag=true" @end="drag=false">
? ?<div v-for="element in myArray" :key="element.id">{{element.name}}</div>
</draggable>vue多個(gè)draggable容器之間拖拽,只需要配置draggable組件的props group為同一個(gè)組即可
props 屬性之list 就是推拽元素的list
當(dāng)點(diǎn)擊拖拽元素時(shí),拖拽元素會(huì)自動(dòng)加上一個(gè).sortable-chosen的class類名,可通過這個(gè)class設(shè)置樣式(比如背景色)
當(dāng)把拖拽元素拖到其他位置時(shí),拖拽元素會(huì)自動(dòng)加上一個(gè).sortable-ghost的class類名,可通過這個(gè)class設(shè)置樣式(比如背景色)
draggable組件內(nèi)還可以加 header slot / footer slot 此時(shí)需要在draggable組件上加上draggable=".item",通過設(shè)置可拖拽元素的class,顯示表示組件內(nèi)部哪些元素可以拖拽
<draggable v-model="myArray" draggable=".item">
? ? <div v-for="element in myArray" :key="element.id" class="item">
? ? ? ? {{element.name}}
? ? </div>
? ? <button slot="footer" @click="addPeople">Add</button>
</draggable>結(jié)尾:以上就是draggable的簡單使用說明,可以滿足基本的拖拽需求,如有錯(cuò)誤,望大佬不吝指正。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue3中使用vuedraggable拖拽實(shí)戰(zhàn)教程
- 使用element+vuedraggable實(shí)現(xiàn)圖片上傳拖拽排序
- vue使用vuedraggable實(shí)現(xiàn)嵌套多層拖拽排序功能
- 使用vuedraggable實(shí)現(xiàn)從左向右拖拽功能
- vue3使用vuedraggable實(shí)現(xiàn)拖拽功能
- vuedraggable實(shí)現(xiàn)拖拽功能
- vuedraggable+element ui實(shí)現(xiàn)頁面控件拖拽排序效果
- vue拖拽排序插件vuedraggable使用方法詳解
- vue使用vuedraggable插件實(shí)現(xiàn)拖拽效果
相關(guān)文章
Vue中import from的來源及省略后綴與加載文件夾問題
這篇文章主要介紹了Vue中import from的來源--省略后綴與加載文件夾,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
vue實(shí)現(xiàn)隨機(jī)驗(yàn)證碼功能(完整代碼)
驗(yàn)證碼功能在我們的身邊用處極廣,今天小編給大家分享基于vue實(shí)現(xiàn)隨機(jī)驗(yàn)證碼功能,感興趣的朋友跟隨小編一起看看吧2019-12-12
vue-cli2與vue-cli3在一臺(tái)電腦共存的實(shí)現(xiàn)方法
這篇文章主要介紹了vue-cli2與vue-cli3在一臺(tái)電腦共存的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
解決webpack+Vue引入iView找不到字體文件的問題
今天小編就為大家分享一篇解決webpack+Vue引入iView找不到字體文件的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09
Vue用Export2Excel導(dǎo)出excel,多級(jí)表頭數(shù)據(jù)方式
這篇文章主要介紹了Vue用Export2Excel導(dǎo)出excel,多級(jí)表頭數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04

