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>
相关推荐
IT_陈寒8 分钟前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员14 分钟前
iOS冷启动监控Demo
前端
光影少年19 分钟前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱1 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO1 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天1 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵2 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端
xixichensh2 小时前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端
梓雨枔2 小时前
JavaScript+快速学习,简单好用~
javascript·学习
木易 士心2 小时前
JavaScript 闭包原理和实践深度解析
开发语言·javascript·ecmascript