vuedraggable拖拽到目标区域

image.png

我要把item1从A区域拖拽到B区域,我想在B区域设置监听回调事件
A区域代码:

// html部分
<div v-for="item in list" :key="item" class="item" >
   <p 
   @dragstart="dragstart($event,item)" //这是拖拽开始
   @dragend="dragend($event)" //这是拖拽结束
   @drag="drag($event)" //这是拖拽中
       draggable="true" //这是给div注册拖拽
   >{{item}}</p>
</div>
//js部分
dragstart(e,item){ //拖拽开始时将item存入vuex
   this.vuex = item 
   console.log(e.target)
},
drag(e){ //拖拽中执行的事件
            // console.log('drag',e)s
},
dragend(e){ //拖拽结束执行的事件
            console.log('dragend',e)
}

B区域代码:

//html部分
<div>
   <div class="text" 
   @dragleave="dragleave($event)" //当拖拽离开这个div时
   @dragover="dragover($event)" //拖拽在这个div里面拖拽时
   @drop='drop($event)'//在div里拖拽停止时
   ></div>      
</div>
//js部分
dragleave(e){ //当拖拽离开这个div时执行的事件
   console.log('dragleave',e)
},
dragover(e){ //拖拽在这个div里面拖拽时执行的事件
   //一定要执行preventDefault(),否则drop事件不会被触发
   e.preventDefault() 
},
drop(e){ //在div里拖拽停止时执行的事件
   alert('拿到Vuex的值')
}

公共区域代码:

<div>
   <dragA></dragA>
   <dragB></dragB>
</div>
import dragA from '@/components/dragA.vue';
import dragB from '@/components/dragB.vue';
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容