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>
相关推荐
文艺理科生1 分钟前
Google A2UI 解读:当 AI 不再只是陪聊,而是开始画界面
前端·vue.js·人工智能
晴栀ay3 分钟前
React性能优化三剑客:useMemo、memo与useCallback
前端·javascript·react.js
JS_GGbond4 分钟前
JavaScript继承大冒险:从“原型江湖”到“class殿堂”
前端
XiaoYu20024 分钟前
第6章 Postgres数据库安装
前端·postgresql
洛卡卡了5 分钟前
从活动编排到积分系统:事件驱动在业务系统中的一次延伸
前端·后端·面试
知其然亦知其所以然6 分钟前
别再死记硬背了,一篇文章搞懂 JS 乘性操作符
前端·javascript·程序员
JS_GGbond8 分钟前
前端大扫除:JS垃圾回收与那些“赖着不走”的内存泄露
前端
葡萄城技术团队13 分钟前
轻量级部署:SpreadJS 包依赖优化与打包体积瘦身秘籍
前端
阿湯哥15 分钟前
Design Token 详解
前端
json{shen:"jing"}20 分钟前
08_组件基础
前端·javascript·vue.js