vue3实现vuedraggable实现拖拽到垃圾桶图标位置进行删除

当使用Vue 3和vuedraggable库时,你可以按照以下方式实现拖拽到垃圾桶图标位置进行删除的功能:

首先,确保你已经安装了vuedraggable库。如果没有安装,可以通过以下命令进行安装:

vuedraggable 和vue-draggable-plus使用非常类似,你可以自己选择安装哪种。

vue-draggable-plus中文文档参考:

https://vue-draggable-plus.pages.dev/guide/

1、安装:

复制代码
npm install vue-draggable-plus

2、引入

复制代码
import { VueDraggable } from "vue-draggable-plus";

3、使用

在这个示例中:

  1. 使用了Vue 3的ref来创建items的响应式数据。

  2. 使用setup函数来设置itemsonDragEnddeleteItem等函数。

  3. 使用draggable组件来实现拖拽功能,绑定了items数据。

  4. 在拖拽结束时,会触发**onDragEnd函数,你可以在这里处理拖拽结束的逻辑。**

  5. 垃圾桶图标位置的<div>元素设置了@dragover.prevent@drop="deleteItem"事件,当拖拽到该位置时,会触发deleteItem函数来删除对应的项。

  6. deleteItem函数中,根据拖拽的数据项的id来过滤掉对应的项,实现删除功能。

    <template>
    <draggable v-model="items" @end="onDragEnd">
    {{ item.text }}
    </draggable>
    🗑️ Drag Here to Delete
    </template> <script> import { ref } from 'vue'; import draggable from 'vuedraggable';

    export default {
    components: {
    draggable
    },
    setup() {
    const items = ref([
    { id: 1, text: 'Item 1' },
    { id: 2, text: 'Item 2' },
    { id: 3, text: 'Item 3' },
    { id: 4, text: 'Item 4' }
    ]);

    复制代码
     const onDragEnd = (event) => {
       // 拖拽结束时的逻辑
     };
    
     const deleteItem = (event) => {
       const itemId = event.dataTransfer.getData('text/plain');
       items.value = items.value.filter(item => item.id.toString() !== itemId);
     };
    
     return {
       items,
       onDragEnd,
       deleteItem
     };

    }
    };
    </script>

    <style> .trash-can { border: 2px dashed #ccc; padding: 20px; margin-top: 20px; text-align: center; cursor: pointer; } </style>
相关推荐
E***q53913 小时前
Vue增强现实开发
前端·vue.js·ar
S***428013 小时前
JavaScript在Web中的Angular
前端·javascript·angular.js
4***149013 小时前
Vue代码规范详解
javascript·vue.js·代码规范
黑幕困兽13 小时前
ehcarts 实现 饼图扇区间隙+透明外描边
前端·echarts
San3013 小时前
深入理解 JavaScript 词法作用域链:从代码到底层实现机制
前端·javascript·ecmascript 6
进击的野人13 小时前
深入理解 JavaScript Promise:原理、用法与实践
javascript·面试·ecmascript 6
七淮14 小时前
Next.js SEO 优化完整方案
前端·next.js
e***193514 小时前
爬虫学习 01 Web Scraper的使用
前端·爬虫·学习
我有一棵树14 小时前
file 协议与 http 协议的区别:为什么本地 HTML 无法加载相对路径 JS,以及正确的解决方式
javascript·http·html
aircrushin14 小时前
TRAE SOLO 中国版,正式发布!AI 编程的 "Solo" 时代来了?
前端·人工智能