前端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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1026410.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘气象预测准确率提升秘诀:3种R语言模型对比分析全公开

第一章&#xff1a;气象预测准确率提升的背景与挑战近年来&#xff0c;随着全球气候变化加剧&#xff0c;极端天气事件频发&#xff0c;对农业、交通、能源和公共安全等领域造成深远影响。提高气象预测的准确率已成为科研机构与政府部门共同关注的核心议题。传统数值天气预报模…

【企业级Docker Offload部署必读】:揭秘高并发场景下的云端资源热切换技术

第一章&#xff1a;企业级Docker Offload部署的核心挑战在大规模生产环境中&#xff0c;Docker Offload部署旨在将容器化工作负载从开发环境高效迁移至边缘或远程节点。然而&#xff0c;这一过程面临诸多系统性挑战&#xff0c;涉及网络稳定性、镜像分发效率、安全策略一致性以…

《Ascend C 高级优化:GELU、LayerNorm 实现与算子融合实战》

1. 为什么优化 GELU 和 LayerNorm&#xff1f;以 LLaMA-7B 为例&#xff1a;每层包含 2 个 GELU&#xff08;FFN 中&#xff09;和 2 个 LayerNorm共 32 层 → 单次前向传播调用 128 次若每次节省 1μs&#xff0c;则每 token 节省 128μs在千亿 token 推理场景中&#xff0c;这…

《深入理解 Ascend C:华为昇腾 AI 处理器的高效编程语言》

摘要 随着人工智能模型规模的爆炸式增长&#xff0c;传统 CPU 和通用 GPU 在推理和训练任务中逐渐暴露出能效比低、延迟高等问题。为应对这一挑战&#xff0c;专用 AI 加速器成为行业主流方向。华为昇腾&#xff08;Ascend&#xff09;系列 AI 处理器正是在此背景下应运而生。…

极端天气频发,我们该如何应对?,基于R语言的气象归因分析全流程解析

第一章&#xff1a;气象数据的 R 语言极端事件归因 在气候变化研究中&#xff0c;极端天气事件的归因分析是评估人类活动对气候影响的关键手段。R 语言凭借其强大的统计建模与可视化能力&#xff0c;成为处理气象时间序列数据和开展归因研究的首选工具。通过整合观测数据、气候…

【Dify检索优化终极方案】:从结果过滤到重排序的全链路解析

第一章&#xff1a;检索重排序的 Dify 结果过滤在构建基于大语言模型的智能应用时&#xff0c;Dify 作为低代码开发平台提供了强大的检索增强生成&#xff08;RAG&#xff09;能力。其中&#xff0c;检索结果的质量直接影响最终输出的准确性。为提升相关性&#xff0c;需对初始…

揭秘Dify并行执行机制:如何实现任务处理速度提升300%

第一章&#xff1a;揭秘Dify并行执行机制的核心原理Dify 作为一个面向 AI 应用开发的低代码平台&#xff0c;其并行执行机制是实现高效工作流处理的关键。该机制允许在同一个工作流中同时运行多个独立节点&#xff0c;从而显著缩短整体执行时间&#xff0c;提升任务吞吐能力。其…

Gin框架入门篇002_第一个Gin服务

1. 准备工作 安装Go&#xff1a;安装合适版本的Go。 2. 第一个gin服务 初始化项目 创建项目文件夹 # 创建并进入项目文件夹 mkdir gin-quickstart && cd gin-quickstart初始化项目 # 初始化项目 go mod init gin-quickstart导入gin框架 # 引入gin依赖 go get -u gith…

广东省考备考三要素(喻明公考)

材料结构化面试备考要注意的方面有很多&#xff0c;但是抓住关键才能有效备考。在实际的学习中&#xff0c;喻明公考提醒各位考生有三个备考的关键要素需要深入把握。一、学好普通结构化材料结构化归根到底还是在普通结构化的基础上进行的创新&#xff0c;背景材料对作答有指导…

基于模型上下文协议(MCP)的可插拔式临床AI工具链Clinical DS研究(下)

第六章 结论与未来工作 6.1 主要研究结论 本研究深入探讨了医疗AI在临床落地中的核心矛盾,即如何从“模型能答”迈向“系统可信、可用、可追溯”。为解决此矛盾,我们创新性地提出并详细设计实现了一套基于模型上下文协议(MCP)的**“可插拔式临床AI工具链”**架构。通过将复…

【Docker MCP 网关服务注册全解析】:掌握微服务动态注册核心技术

第一章&#xff1a;Docker MCP 网关服务注册概述在微服务架构中&#xff0c;Docker MCP&#xff08;Microservice Control Plane&#xff09;网关承担着服务发现、路由转发与统一鉴权等核心职责。服务注册是其运行的前提&#xff0c;确保每个启动的微服务实例能够被正确识别并纳…

【Dify索引优化终极指南】:构建毫秒级视频帧检索系统的秘密武器

第一章&#xff1a;视频帧检索的 Dify 索引优化在处理大规模视频数据时&#xff0c;高效检索关键帧是构建智能视觉系统的基石。Dify 作为支持多模态索引与检索的框架&#xff0c;提供了对视频帧特征向量的结构化管理能力。通过对视频帧进行特征提取并建立分层索引结构&#xff…

(混合检索性能革命):Dify响应时间从3秒到200ms的实践路径

第一章&#xff1a;混合检索的 Dify 响应时间在构建基于大语言模型的应用时&#xff0c;Dify 作为一款低代码平台&#xff0c;支持将向量检索与关键词检索融合&#xff0c;实现高效的混合检索机制。该机制显著影响系统的响应时间&#xff0c;尤其在高并发或大规模数据场景下&am…

打通 C++ 与 Node.js 的跨语言交互通道

这里写自定义目录标题从实际需求出发&#xff1a;为何需要 callJS&#xff1f;核心功能&#xff1a;从注册到调用的完整闭环注册回调&#xff1a;setCallBack 搭建沟通桥梁合理的创建标题&#xff0c;有助于目录的生成同步调用&#xff1a;call 实现即时交互异步调用&#xff1…

SpringBoot新手入门:从0到1快速搭建Web应用

一、为什么 Spring Boot 是新手的「Java 开发加速器」&#xff1f; 想象开发 Java Web 应用像组装家具&#xff1a; 传统 Spring&#xff1a;需手动筛选板材&#xff08;依赖&#xff09;、阅读厚厚说明书&#xff08;XML 配置&#xff09;、自备工具&#xff08;服务器&…

提高 CHO 细胞蛋白表达量?Cytiva HyClone 培养基是优选!

近些年&#xff0c;安全高效稳定的生物制品生产加工工艺一直是从业者不断完善追求的目标。在重组药物工艺中&#xff0c;CHO细胞已经成为需要复杂翻译后修饰的治疗性蛋白及单抗药物生产的首选宿主细胞。CHO细胞培养基开发也随之成为重中之重。其中保证生产培养基的无菌性是保障…

2025行业盘点追踪,迈向生产级医疗AI:三大核心实践趋势的落地路径分析

摘要: 将大型语言模型(LLM)用于医疗并不缺“惊艳指标”,真正稀缺的是 能在真实临床环境中长期稳定运行 的工程方法:可解释、可审计、可控风险、可持续迭代。近年来,围绕“从基准到床旁”的落地鸿沟,业界逐步收敛出三类最关键的编程与系统实践趋势:** (1)提示工程与微…

【农业产量预测新突破】:基于R语言的气候影响深度分析与实战模型构建

第一章&#xff1a;农业产量的 R 语言气候影响分析在现代农业科学研究中&#xff0c;量化气候因素对农作物产量的影响至关重要。R 语言凭借其强大的统计分析与可视化能力&#xff0c;成为处理此类问题的首选工具。通过整合气象数据&#xff08;如降水量、气温&#xff09;与历史…

数据结构(一)———线性表之顺序表、单向链表

一、线性表线性表是n 个数据类型相同的元素组成的有限序列&#xff08;n≥0&#xff0c;n0 时叫 “空表”&#xff09;&#xff08;1&#xff09;特点有唯一的 “第一个元素” 和 “最后一个元素”除第一个元素外&#xff0c;每个元素只有一个前驱&#xff1b;除最后一个元素外…

Mac电脑往U盘拷贝文件有同名的“._”开头的文件,怎么避免?

在Mac电脑上往U盘拷贝文件时&#xff0c;操作系统自动创建一些“._”开头的文件。这些文件称为AppleDouble文件&#xff0c;是Mac OS在非Mac格式的磁盘上存储额外的文件属性、资源分支等信息。 避免产生这些文件的方法有&#xff1a; 使用CleanMyDrive或DotCleaner等第三方应用…