当前位置: 代码迷 >> 综合 >> Vue Drag and Drop
  详细解决方案

Vue Drag and Drop

热度:110   发布时间:2023-09-13 12:23:13.0

1.设置 div 元素允许拖拽

Draggable="true"

2.设置元素拖拽开始事件

@dragstart="drag(item.data)"

<div style="border:1px solid green;" draggable="true" @dragstart="dragstart($event, item.data)" @dragend="dragend">{
    {item.data}}
</div>
dragstart (event, data) {console.log('drag')event.dataTransfer.setData('item', data)
},
dragend (event) {event.dataTransfer.clearData()
},

3.在拖放区 drop 事件中获取数据

<div style="border:1px solid red;height: 100px;width:300px;" @drop="drop" @dragover.prevent><p style="color:#ccc;">{
    {this.dropData}}</p>
</div>
drop (event) {console.log('drop')let data = event.dataTransfer.getData('item')this.dropData = dataconsole.log('data: ', data)
}

注意

必须给拖放区元素添加 dragover.prevent,才能使 drop 事件正确执行

一个基于 quill 的拖拽 Demo:

https://github.com/gywgithub/vue-quill-drag-drop

  相关解决方案