vue使用drag与drop实现拖拽的示例代码

时间:2021-05-26

在功能中有一项是需要实现拖拽的。虽然最终项目没有采取这样的拖拽方式,但是,当初也是费了九牛二虎之力完成了这个功能。增加了对函数的更深理解。下面就再重现一下代码。

下面是代码片段:

<div class="fav-fold-panel" v-if="!typeChange" draggable="true" @dragstart="drag($event)"@dragover="allowDrop($event)"><!-- 面板内容 --><div class="favTitle-card" :data="favPanelAllData"v-if="foldDone"><favPanelv-for="itemin favPanelAllData"v-if="item.id===1" :favTitle="item.title"renameText="更名"foldText="折叠"unfoldText="展开" :favListData="item.content"draggable="true" @dragstart="drag($event)"><ul class="ul-content"><li class="ul-content-li" :favCommonList1="item.content"></li></ul><!-- <favPopPanel :show="popShow" @onHide="popShow = false"></favPopPanel> --><!-- <div :favListData="item.favListData"></div> --></favPanel></div><divclass="fav-card-create" :data="favPanelAllData"><favFooter><el-buttontype="primary" @click="addFoldFuc">新建文件夹</el-button><el-button-group><el-button @click="foldFuc">全部折叠</el-button><el-button @click="foldFuc">全部展开</el-button></el-button-group></favFooter></div></div>

另一段代码:

<div class="favTitle-card" :data="favPanelAllData"draggable="true"ondragstart="drag(event)"><favPanelv-for="itemin favPanelAllData"v-if="item.id===2" :favTitle="item.title"renameText="更名"foldText="没我"unfoldText="没你" :favListData="item.content"><ul class="ul-content"><li class="ul-content-li" :favListData="item.content" :if="!foldDone"></li></ul></favPanel></div>

function部分

drag(event) {dom = event.currentTarget},drop(event) {event.preventDefault()event.target.appendChild(dom)},allowDrop(event) {event.preventDefault()}

然后,drag与drop系统的研究明天再说。

这样写的坏处是什么,还有为什么不采取这种方法实现拖拽。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章