vue h5 实现拖拽

4 篇文章 0 订阅

目前项目遇到拖拽的功能,记录一下,大概逻辑如下:

1)左侧为分类列表,右侧为数据,根据左侧的列表分类展示右侧的数据;

2)右侧的数据还可以拖动到左侧类型里面,类似于文件夹拖动时的剪切,复制

 

实现:

div为目标元素,当鼠标拖动下面的li 移上去并放开时会触发,并且鼠标样式会发生变化,注意上面的两个方法为必须

li 为移动的元素,deaggable ="true",表示此元素可移动

 // 开始拖拽时执行 通过event.dataTransfer.setData 设置数据
    drag (event, lesson) {
      event.dataTransfer.setData('item', lesson.parentId)
      event.dataTransfer.setData('fileKey', lesson.fileKey)
      this.dragEle = lesson
    },
//停止拖拽删除
    dragend (event) {
      event.dataTransfer.clearData()
    },
//到达目标元素放开鼠标执行的代码,通过 event.dataTransfer.getData可拿到相应的传输数据
    async drop (data, event) {
      let editParentId = parseInt(event.dataTransfer.getData('item')) // 拿到parentId
      this.editFileKey = event.dataTransfer.getData('fileKey')// 拿到fileKey
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值