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>
相关推荐
艾斯特_12 分钟前
前端代码装饰器的介绍及应用
前端·javascript
Sokachlh16 分钟前
【elementplus】中文模式
前端·javascript
轻口味16 分钟前
【每日学点鸿蒙知识】hap安装报错、APP转移账号、import本地文件、远程包构建问题、访问前端页面方法
前端·华为·harmonyos
m0_7482453423 分钟前
BY组态-低代码web可视化组件
前端·低代码
Cshaosun40 分钟前
js版本之ES6特性简述【Proxy、Reflect、Iterator、Generator】(五)
开发语言·javascript·es6
web182854825121 小时前
ctfshow-web 151-170-文件上传
前端·状态模式
轻口味1 小时前
【每日学点鸿蒙知识】Web请求支持Http、PDF展示、APP上架应用搜索问题、APP备案不通过问题、滚动列表问题
前端·http·harmonyos
一棵开花的树,枝芽无限靠近你1 小时前
【PPTist】表格功能
前端·笔记·学习·编辑器·ppt·pptist
马船长1 小时前
RCE-PLUS (学习记录)
java·linux·前端
Ares码农人生2 小时前
React 高级组件开发:动态逻辑与性能优化
vue.js·前端框架