Vue-Draggable,vue实现div拖拽

  Vue-Draggable,vue实现div拖拽

  本文主要详细介绍vue-draggable实现pc端拖动效果。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  本文分享vue-draggable实现pc端拖动效果的具体代码,供大家参考。具体内容如下

  要实现下面的布局,可以通过拖拽来整合和调整位置。

  拖拽前:

  拖拽后:

  

一、安装

  NPM I-S vuedragable

  

二、使用

  引入:

  从“vuedraggable”导入可拖动的

  注册

  组件:{

  可拖动的

  },

  使用

   draggable:options= { group: people ,animation:150,ghostClass:sortable-ghost ,chosenClass:chosenClass ,scroll:true,scrollSensitivity:200}

  v-model=list2

  @change=change

  @start=start

  @end=end

  :move=move

  style= display:inline-block;宽度:190px高度:200px背景:# eee溢出:自动

  列表2中的li v-for=(item,index)

  :key=index

  {{item.name}}

  /李

  /可拖动

  2: [{value: 1,name: China },{value: 1,name: China },{value:1,name: China}],

  事件:

  //evt中有两个值,一个evt.added,另一个evt.removed可以分别知道移动元素的ID和删除元素的ID。

  变化:功能(evt) {

  控制台. log(evt)

  },

  //开始、结束、添加、更新、排序、删除都弄得差不多了。

  开始:功能(evt) {

  控制台. log(evt)

  },

  end:函数(evt) {

  控制台. log(evt)

  Evt.item //可以知道拖动本身

  Evt.to //可以知道被拖动目标的列表。

  Evt.from //可以知道之前的列表

  Evt.oldIndex //拖动前可以知道位置

  Evt.newIndex //拖动后可以知道位置。

  },

  移动:函数(evt,originalEvent) {

  控制台. log(evt)

  Console.log(originalEvent) //鼠标位置

  }

  属性

  Group: name ,//或{name: . ,pull: [true,false,clone],put: [true,false,array]}同名的名称组可以互相拖动。

  Sort: true,//内部排序列表

  Delay: 0,//定义排序开始的时间,以毫秒为单位。

  TouchStartThreshold: 0,//px,点要移动多少像素才能取消延迟拖动事件?

  Disabled: false,//如果设置为true,则禁用可排序。

  store: null,//@see Store

  动画:150,//ms,运动物品排序时的动画速度, 0 -无动画。

  句柄:。my-handle ,//拖动列表项中的句柄选择器。

  筛选器:。 ignore-elements ,//不会导致拖放的选择器(字符串或函数)

  PreventOnFilter: true,//调用“event.preventDefault()”时触发“过滤器”。

  可拖动:。item ,//指定元素中的哪些项应该是可拖动的。

  GhostClass: sortable-ghost ,//为被拖动元素的类设置占位符的类名。

  choosed class: sortable-chosen ,//设置所选元素的类。

  DragClass: sortable-drag ,//拖动元素的类。

  dataIdAttr:数据标识,

  ForceFallback: false,//忽略HTML5的DnD行为并强制退出。(h5中有一个属性也是拖拽,这里是去除H5拖拽对这个的影响)

  FallbackClass: Sortable-Fallback ,//使用forceFallback时克隆的DOM元素的类名。

  Fallbackbody: false,//将克隆的DOM元素添加到文档正文中。(默认放置在被拖动元素的同一层)

  FallbackTolerance: 0,//指定鼠标在被视为拖动之前应该移动的距离,以像素为单位。

  scroll: true,//或HTMLElement

  scrollFn: function(offsetX,offsetY,originalEvent,touchEvt,hoverTargetEl) {.},//如果您有自定义滚动条,scrollFn可用于自动滚动

  scrollSensitivity: 30,//px,鼠标必须多靠近一条边才能开始滚动。

  scrollSpeed: 10,//px

  slot:

  使用页脚槽在vuedraggable组件中添加不可拖动的元素。重要:它应该与draggable选项一起使用来标记可拖动的元素。请注意,默认情况下将始终添加页脚位置。

  可拖动的v-model= myArray :options= { draggable:。项目“}”

  div v-for= myArray中的元素:key=element.id class=item

  {{element.name}}

  /div

  button slot= footer @ click= addPeople add/button

  /可拖动

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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: