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>
相关推荐
暂时先用这个名字2 小时前
常见 HTTP 状态码分类和解释及服务端向前端返回响应时的最完整格式
前端·后端·网络协议·http·状态码·国产化·响应
好运yoo4 小时前
Array.prototype.push()的理解和手写
前端·javascript
赵锦川4 小时前
nuiapp vue3 uni-ui uni.uploadFile 图片上传
javascript·vue.js·ui
LCFliu6 小时前
13-鸿蒙开发中的综合实战:华为登录界面
前端·华为·harmonyos·鸿蒙·鸿蒙系统
GraduationDesign6 小时前
基于SpringBoot的免税商品优选购物商城的设计与实现
java·vue.js·spring boot·后端·html5
weixin_516875657 小时前
vue3 父子组件传参
前端·javascript·vue.js
gqkmiss7 小时前
Chrome 130 版本新特性& Chrome 130 版本发行说明
前端·chrome·chromeos·chrome 130
龙哥说跨境7 小时前
浏览器内核版本更新:Chrome 130✔
前端·javascript·chrome
浏览器爱好者7 小时前
Chrome与夸克的安全性对比
前端·chrome
浏览器爱好者7 小时前
Chrome与夸克谁更节省系统资源
前端·chrome