vue使用drag与drop实现拖拽的示例代码
程序员文章站
2022-11-25 09:14:31
在功能中有一项是需要实现拖拽的。虽然最终项目没有采取这样的拖拽方式,但是,当初也是费了九牛二虎之力完成了这个功能。增加了对函数的更深理解。下面就再重现一下代码。
下面是代...
在功能中有一项是需要实现拖拽的。虽然最终项目没有采取这样的拖拽方式,但是,当初也是费了九牛二虎之力完成了这个功能。增加了对函数的更深理解。下面就再重现一下代码。
下面是代码片段:
<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"> <favpanel v-for="item in 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> <div class="fav-card-create" :data="favpanelalldata"> <favfooter> <el-button type="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)"> <favpanel v-for="item in 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系统的研究明天再说。
这样写的坏处是什么,还有为什么不采取这种方法实现拖拽。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 原生JS+Canvas实现五子棋游戏