1.可以使用第三方插件 vue-draggable 来实现 Vue 中的拖拽效果,它具有以下特点:
- 支持多项排序
- 支持拖拽和移动
- 支持自定义传递数据
- 支持拖拽和放置之间的交互动画
2.下面是一个简单的示例,演示如何使用 vue-draggable 实现拖拽效果:
(1)安装 vue-draggable
npm install -S vue-draggable
(2)在 Vue 组件中使用 vue-draggable
<template>
<draggable v-model="list" :options="{ group: 'people' }">
<div v-for="item in list" :key="item.id">
{{ item.name }}
</div>
</draggable>
</template>
<script>
import draggable from 'vuedraggable'
export default {
components: {
draggable
},
data() {
return {
list: [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
{ id: 4, name: 'David' }
]
}
}
}
</script>
在上面的代码中,我们使用 draggable 组件来包装需要拖拽的元素,通过 v-model 绑定数据源,通过 options 属性设置分组信息,然后在内部使用 v-for 遍历数据,并使用 key 属性来保证元素唯一性。
接下来,你可以在你的项目中使用 vue-draggable 来实现更加复杂的拖拽效果。