一、Vue-draggable

1、安装组件

npm i -s vuedraggable

2、在vue项目中引入该组件并注册

import Draggable from 'vuedraggable';
......
new Vue({
el:'#app',
components:{
   Draggable
},
data() {
return {

})

3、在模板中使用

<draggable 
     v-bind="{group:'favItem',animation:150}" 
     v-model="list" 
     @change="change"
     @start="start"
     @end="end">
  <button v-for="item in list" :key="item.key">{{item.text}}</button>
</draggable>
......
new Vue({
    el:'#app',
    components:{
       Draggable
    },
    data() {
       return {
          ...
    }),
    methodes:{
     change(evt) {},
     start(evt) {},
     end(evt) {},
    }
  })

各项配置介绍:vuedraggable文文档
start和end只会在拖拽元素移动的开始和结束时触发,过程中不会触发,这也是在项目中最后选用的原因。

二、awe-dnd

1、安装

npm i -s awe-dnd

2、导入插件

##  main.js
import VueDND from 'awe-dnd';
Vue.use(VueDND);

3、使用

  <button 
    v-for="fav in FavList" 
    :key="item.key"
    v-dragging="{item:fav,list:FavList}"
    >{{item.text}}</button>
......
new Vue({
    el:'#app',
    components:{
       Draggable
    },
    data() {
       return {
          ...
    }),
    mounted(){
    this.$dragging.$on('dragged',({value})=> {
        console.log(value.list)
   })
  }
   })

会一直监听拖拽的过程,在拖拽的过程中会一直打印信息;

GitHub 加速计划 / vu / Vue.Draggable
19.97 K
2.89 K
下载
SortableJS/Vue.Draggable: Vue.Draggable 是 Sortable.js 的 Vue.js 封装组件,提供了拖放排序功能,可以在 Vue 应用中轻松实现列表元素的可拖拽重排。
最近提交(Master分支:3 个月前 )
431db153 - 2 年前
017ab498 - 3 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐