Vue实现拖拽穿梭框功能四种方式

一、使用原生js实现拖拽

123


  
  Lazyload
  


  
  
按住拖动

二、VUe使用js实现拖拽穿梭框

拖拽穿梭框

{{ item.label }} X
{{ item.label }} X

效果图:
Vue实现拖拽穿梭框功能四种方式_第1张图片

三、Vue 拖拽组件 vuedraggable

vuedraggable 是标准的组件式封装,并且将可拖动元素放进了 transition-group 上面,过渡动画都比较好。

使用方式:

yarn add vuedraggable

import vuedraggable from ‘vuedraggable’;
在使用的时候,可以通过 v-model 来双向绑定本地 data,如果需要更新或者是触发父组件监听的事件,可以在 updated() 中去 emit。

案例:

{{ drag ? "拖拽中" : "拖拽停止" }}
{{ element.name }}
{{ color.text }}
# 四、Awe-dnd指令封装 vue-dragging 的 npm 包的名字是 awe-dnd ,并不是 vue-dragging,这个库的特点是封装了 v-dragging 全局指令,然后通过全局指令去数据绑定等。

相比及 vuedraggable 来说, awe-dnd 是没有双向绑定(这里没有双向绑定并不是很严谨,准确的来说没有暴露双向绑定的方式),因此提供了事件,在拖拽结束的时候用来更新列表(不需要手动更新列表,其实内部是实现了双向绑定的)或者是去触发父组件监听的事件。

安装依赖:

npm install awe-dnd --save
yarn add awe-and
main.js

import VueDND from ‘awe-dnd’

Vue.use(VueDND)
案例:

{{ color.text }}

你可能感兴趣的:(liunx,java,vue.js,javascript,前端)