news 2026/6/10 15:12:55

前端vue3 web端中实现拖拽功能实现列表排序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
前端vue3 web端中实现拖拽功能实现列表排序

类似这样的我现在要实现能够拖拽 直接能够让这个列表项 切换顺序

我们可以使用前端库 也可以使用原生自带的功能

我直接贴代码了

template

<el-form-item label="选择书籍:" class="book-select-container"> <div class="booklist-container" ref="bookList"> <div class="book-item" v-for="(item, index) in selectBookList" :key="item.id" :draggable="true" @dragstart="onBookDragStart($event, index)" @dragover.prevent="onBookDragOver($event, index)" @drop="onBookDrop($event, index)" @dragenter="onBookDragEnter($event, index)" @dragleave="onBookDragLeave($event, index)" > <div class="index"> <div class="nnumber">{{ index + 1 }}</div> </div> <div class="novelName">{{ item.novelName }}</div> </div> </div> </el-form-item>

script

// 书籍拖拽相关函数 const onBookDragStart = (event, index) => { event.dataTransfer.setData('text/plain', index.toString()) event.target.classList.add('dragging') } const onBookDragOver = (event, index) => { event.preventDefault() event.currentTarget.classList.add('drag-over') } const onBookDragEnter = (event, index) => { event.preventDefault() } const onBookDragLeave = (event, index) => { event.currentTarget.classList.remove('drag-over') } const onBookDrop = (event, index) => { event.preventDefault() event.currentTarget.classList.remove('drag-over') const dragIndex = parseInt(event.dataTransfer.getData('text/plain')) const dropIndex = index if (dragIndex !== dropIndex) { const itemToMove = selectBookList.value[dragIndex] selectBookList.value.splice(dragIndex, 1) selectBookList.value.splice(dropIndex, 0, itemToMove) // 触发响应式更新 selectBookList.value = [...selectBookList.value] ElMessage.success('书籍顺序已调整') } // 移除拖拽类 document.querySelectorAll('.book-item').forEach(el => { el.classList.remove('dragging') }) }

这个是最简单的 一个模板了

至于说样式的开发 就看怎么写了 原声的拖拽就是这样写的

不使用任何第三方库,纯原生HTML5拖拽API

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 2:39:04

Dify与Spring AI异常处理全透视:5种必须掌握的错误响应模式

第一章&#xff1a;Dify与Spring AI异常处理的核心挑战 在集成 Dify 与 Spring AI 的过程中&#xff0c;异常处理成为系统稳定性的关键瓶颈。两者分别运行于异构架构之上&#xff1a;Dify 基于事件驱动的低代码 AI 工作流引擎&#xff0c;而 Spring AI 遵循传统 Java 的响应式编…

作者头像 李华
网站建设 2026/6/8 8:00:42

10分钟上手Cursor:AI编程助手从入门到精通

第一次听说Cursor时&#xff0c;我也怀疑过——又是一个AI编程噱头吗&#xff1f;但作为一名每天要与代码搏斗八小时的开发者&#xff0c;尝试三周后&#xff0c;我的工作流彻底改变了。这不是简单的代码补全工具&#xff0c;而是真正能理解你意图的编程伙伴。 安装与初识&…

作者头像 李华
网站建设 2026/6/9 9:30:32

【C++】 vector 全面解析:从使用到底层实现

&#x1f525;铅笔小新z&#xff1a;个人主页 &#x1f3ac;博客专栏&#xff1a;C学习 &#x1f4ab;滴水不绝&#xff0c;可穿石&#xff1b;步履不休&#xff0c;能至渊。 引言 在C标准模板库&#xff08;STL&#xff09;中&#xff0c;vector是最重要、最常用的容器之一…

作者头像 李华
网站建设 2026/6/10 2:48:37

Dify备份失败频发,90%的人都忽略了这4个关键点

第一章&#xff1a;私有化 Dify 备份失败的根源剖析在私有化部署 Dify 的过程中&#xff0c;数据备份是保障系统稳定与可恢复性的核心环节。然而&#xff0c;许多运维人员在执行备份任务时频繁遭遇失败&#xff0c;其根本原因往往隐藏于配置、权限与依赖组件的协同问题中。环境…

作者头像 李华
网站建设 2026/6/10 0:08:16

C#与C++初中高级学习路径

初级工程师&#xff08;0-2年&#xff09; C#核心基础 语法基础&#xff1a;数据类型、流程控制、类与对象、接口 面向对象编程&#xff1a;封装、继承、多态、SOLID原则基础理解 .NET基础&#xff1a;CLR、BCL基础类库、垃圾回收机制 基本数据结构&#xff1a;数组、列表、字典…

作者头像 李华
网站建设 2026/6/9 22:42:05

还在为Dify检索结果混乱头疼?4个关键步骤彻底解决格式问题

第一章&#xff1a;Dify检索结果混乱的根源分析在构建基于大语言模型的应用时&#xff0c;Dify作为低代码平台提供了便捷的流程编排能力。然而&#xff0c;许多用户反馈其检索模块返回的结果存在顺序错乱、相关性差、重复内容等问题。这些问题并非源于单一因素&#xff0c;而是…

作者头像 李华