失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > vue 拖拽(Drag and Drop)

vue 拖拽(Drag and Drop)

时间:2022-03-27 21:52:07

相关推荐

vue 拖拽(Drag and Drop)

1、拖拽:设置允许拖拽的div元素及元素拖拽的的开始事件

draggable="true"

@dragstart="drag(item.data)"

<div draggable="true" @dragstart="dragEnterEvent($event, videoSrc.id)" @dragend="dragEnterOver"><div style="display:flex;"><svg class="kc-svg-icon" aria-hidden="true"><use xlink:href="#kc-icon-edgeshipinyuan">></use></svg></div><span class="menu-text">{{ videoSrc.name }}</span></div>

function dragEnterEvent(event, id) {console.log('drag', event, id)event.dataTransfer.setData("deviceId", id);}function dragEnterOver(event) {event.dataTransfer.clearData()console.log('dragEnterOver')}

2、在拖放区域 drop事件中获取数据

<div class="grid"v-for="(grid, index) in store.state.videomonitor.data.gridList":key="index":style="`grid-area: grid${index}`"@click="handleClickGrid(index)"@drop="dropEvent($event, index)"@dragover.prevent><div class="grid-content"><grid class="playwnd" :ref="(el) => (gridList[index] = el)"></grid></div></div>

function dropEvent(event, index) {event.preventDefault();const devId = event.dataTransfer.getData('deviceId');console.log(devId)}

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

如果觉得《vue 拖拽(Drag and Drop)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。