Vue中使用 vuedraggable进行拖拽

本文主要记录下 vuedraggable拖拽 在 vue2 和 vue3 中使用上的区别。

一、安装

vue2 安装命令
javascript 复制代码
npm i vuedraggable -S

vue3 安装会报错:Cannot read property 'header' of undefined。安装最新版本的vuedraggable即可,命令行如下

vue3 安装命令
javascript 复制代码
npm i -S vuedraggable@next

二、使用

vue2 使用
javascript 复制代码
<template>
  <draggable v-model="myArray">
    <div v-for="element in myArray" :key="element.id">{{element.name}}</div>
  </draggable>
</template>
 
<script>
import draggable from 'vuedraggable'
 
export default {
  components: {
    draggable
  },
  data () {
    return {
      myArray: [
        { id: 1, name: 'Jenny' },
        { id: 2, name: 'kevin' },
        { id: 3, name: 'lili' }
      ]
    }
  }
}
</script>
vue3 使用
javascript 复制代码
<template>
  <draggable 
    v-model="data.myArray" 
    group="people" 
    @start="data.drag=true" 
    @end="data.drag=false" 
    item-key="id">
    <template #item="{element}">
      <div>{{element.name}}</div>
     </template>
  </draggable>
</template>
 
<script lang="ts" setup>
import { reactive } from 'vue'
import draggable from 'vuedraggable'
    const data = reactive({
      drag: false,
      myArray: [
        { id: 1, name: '张三' },
        { id: 2, name: '李四' },
        { id: 3, name: '王五' }
      ]
    })

</script>
相关推荐
栀秋666几秒前
从零开始调用大模型:使用 OpenAI SDK 实现歌词生成,手把手实战指南
前端·llm·openai
l1t1 分钟前
DeepSeek总结的算法 X 与舞蹈链文章
前端·javascript·算法
智航GIS22 分钟前
6.2 while循环
java·前端·python
2201_7578308723 分钟前
AOP核心概念
java·前端·数据库
雪人.25 分钟前
JavaWeb经典面试题
java·服务器·前端·java面试题
JIngJaneIL34 分钟前
基于java+ vue学生成绩管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
小恒恒37 分钟前
2025 Vibe Coding 有感
前端·uni-app·trae
用户214118326360237 分钟前
dify案例分享-免费体验Dify + Qwen-Image-2512 文生图图生图全流程
前端
千寻girling1 小时前
面试官 : “ 说一下 localhost 和127.0.0.1 的区别 ? ”
前端·javascript·面试
老华带你飞1 小时前
智能菜谱推荐|基于java + vue智能菜谱推荐系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot