基于vue项目实现简单的拖拽功能

知识点:

draggable:允许元素进行拖拽

@drop:当元素放下到drop元素触发

@dragstart:开始拖元素触发

prevent:拦截默认事件

dataTransfer

dataTransfer 对象允许我们在开始拖动元素时设置数据,并在将元素放在拖放区中时访问相同的数据。
我们应该知道一些关于 dataTransfer 的属性和方法(如果要了解更多,请查看dataTransfer API 文档)。

dropEffect:当前的拖放操作(例如,移动,复制)
effectAllowed:指定拖放操作
setData(name,val):允许我们向dataTransfer对象添加值
getData(name):检索存储的值

具体效果请添加图片描述

实现过程

创建一个 item 对象数组,对象的属性有:

  • id:唯一的 ID,以便我们可以查找对象
  • title:要显示文字
  • list:它所属的列表。
data () {
   
    return {
   
      items: [
      {
   
        id: 0,
        title: 'Item A',
        list: 1
      },
      {
   
        id: 1,
        title: 'Item B',
        list: 1
      },
      {
   
        id: 2,
        title: 'Item C',
        list: 2
      }]
    }
}

创建两个计算属性用来把项目列表过滤为列表1中的项目和列表2中的项目。

computed
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值