当前位置: 首页 > news >正文

【工具】VUE 前端列表拖拽功能代码

【工具】VUE 前端列表拖拽功能代码

使用组件

yarn add sortablejs --save

Sortable.js中文网 (sortablejs.com)

以下代码只是举个例子, 大家可以举一反三去实现各自的业务功能

<template><div><el-button type="primary" @click="切换列表(1)">列表一</el-button><el-button type="success" @click="切换列表(2)">列表二</el-button><el-tablev-if="DataListShow === 1":data="DataList1"ref="refTable1"class="ELtable"size="small"stripe:key="tableKey1":row-key="(row) => {return row.prop;}"><el-table-columnlabel="编码"align="center"prop="label"></el-table-column><el-table-columnlabel="名称"align="center"prop="label"></el-table-column></el-table><el-tablev-if="DataListShow === 2":data="DataList2"ref="refTable2"class="ELtable"size="small"stripe:key="tableKey2":row-key="(row) => {return row.prop;}"><el-table-columnlabel="编码"align="center"prop="prop"></el-table-column><el-table-columnlabel="名称"align="center"prop="label"></el-table-column></el-table></div>
</template><script>// 引入Sortable表格拖拽插件
import Sortable from "sortablejs";//引入模拟的data数据
import DataList1 from "./DataList1.js";
import DataList2 from "./DataList2.js";export default {name: 'HelloWorld',data(){return {DataListShow:1,//第1个表格的配置tableKey1:0,DataList1:DataList1,//第2个表格的配置tableKey2:0,DataList2:DataList2,}},mounted() {//开始 行拖拽this.rowDrop1();},methods:{切换列表(列表号){this.DataListShow = 列表号this.$nextTick(() => {if(列表号 === 1){//启动列表一拖拽this.rowDrop1();}else{//启动列表二拖拽this.rowDrop2();}});},/*** 第一个表格的* 行拖拽*/rowDrop1() {window.aaa = thisconst _this = this;const wrapperTr = this.$refs.refTable1.$el.querySelector(".el-table__body-wrapper tbody");this.sortable = Sortable.create(wrapperTr, {handle:'.el-table__row',animation: 350,delay: 0,easing:'cubic-bezier(0.34, 1.56, 0.64, 1)',onEnd: (evt) => {const oldItem = _this.DataList1[evt.oldIndex];_this.DataList1.splice(evt.oldIndex, 1);_this.DataList1.splice(evt.newIndex, 0, oldItem);_this.reDrawTable1();// 每一次拖拽后都要重绘一次},});},/*** 第一个表格的* 触发表格重绘*/reDrawTable1() {this.tableKey1 = Math.random();this.$nextTick(() => {// this.rowDrop();this.rowDrop1();});},/*** 第二个表格的* 行拖拽*/rowDrop2() {const _this = this;// console.log("数据", this.schemas);const wrapperTr = this.$refs.refTable2.$el.querySelector(".el-table__body-wrapper tbody");this.sortable = Sortable.create(wrapperTr, {handle:'.el-table__row',animation: 350,delay: 0,easing:'cubic-bezier(0.34, 1.56, 0.64, 1)',onEnd: (evt) => {const oldItem = _this.DataList2[evt.oldIndex];_this.DataList2.splice(evt.oldIndex, 1);_this.DataList2.splice(evt.newIndex, 0, oldItem);_this.reDrawTable2();// 每一次拖拽后都要重绘一次},});},/*** 第二个表格的* 触发表格重绘*/reDrawTable2() {this.tableKey2 = Math.random();this.$nextTick(() => {// this.rowDrop();this.rowDrop2();});},}}
</script>

DataList1.js

export default [{disabled: true,isCheck: true,fixed:true,width: "100px",label: "姓名",prop: "name"},{disabled: false,isCheck: true,width: "180px",label: "单位",prop: "unitName"},{disabled: false,isCheck: true,width: "80px",label: "部门",prop: "departmentName"},{disabled: false,isCheck: true,width: "80px",label: "性别",prop: "sex"},{disabled: false,isCheck: true,width: "80px",label: "出生年月",prop: "birthday"},{disabled: false,isCheck: true,width: "100px",label: "籍贯",prop: "places"},{disabled: false,isCheck: true,width: "140px",label: "参加工作时间",prop: "workTime"},{disabled: false,isCheck: true,width: "100px",label: "行政职务",prop: "duty"},{disabled: false,isCheck: true,width: "140px",label: "行政职务时间",prop: "dutyTime"},{disabled: false,isCheck: true,width: "80px",label: "行政职级",prop: "jobGrade"},{disabled: false,isCheck: true,width: "140px",label: "行政职级时间",prop: "jobGradeTime"},{disabled: false,isCheck: true,width: "110px",label: "等级",prop: "rank"},{disabled: false,isCheck: true,width: "80px",label: "等级时间",prop: "rankTime"},{disabled: false,isCheck: true,width: "100px",label: "法律职务",prop: "legislation"},{disabled: false,isCheck: true,width: "140px",label: "法律职务时间",prop: "legislationTime"},{disabled: false,isCheck: true,width: "80px",label: "全日制学历",prop: "fullTimeEducation"},{disabled: false,isCheck: true,width: "80px",label: "全日制学位",prop: "fullTimeDegree"},{disabled: false,isCheck: true,width: "80px",label: "全日制专业",prop: "fullTimeMajor"},{disabled: false,isCheck: true,width: "100px",label: "政治面貌",prop: "politicsStatus"},
];

DataList2.js

export default [{disabled: true,isCheck: true,fixed:true,width: "100px",label: "还是",prop: "name"},{disabled: false,isCheck: true,width: "180px",label: "撒大哥",prop: "unitName"},{disabled: false,isCheck: true,width: "80px",label: "官方",prop: "departmentName"},{disabled: false,isCheck: true,width: "80px",label: "体育",prop: "sex"},{disabled: false,isCheck: true,width: "80px",label: "精明能干",prop: "birthday"},{disabled: false,isCheck: true,width: "100px",label: "可以广泛",prop: "places"},{disabled: false,isCheck: true,width: "140px",label: "发公告",prop: "workTime"},{disabled: false,isCheck: true,width: "100px",label: "人同意",prop: "duty"},{disabled: false,isCheck: true,width: "140px",label: "大幅度发给",prop: "dutyTime"},{disabled: false,isCheck: true,width: "80px",label: "就发过火",prop: "jobGrade"},{disabled: false,isCheck: true,width: "140px",label: "try二食堂",prop: "jobGradeTime"},{disabled: false,isCheck: true,width: "110px",label: "结果",prop: "rank"},{disabled: false,isCheck: true,width: "80px",label: "分班表",prop: "rankTime"},{disabled: false,isCheck: true,width: "100px",label: "沃尔沃二",prop: "legislation"},{disabled: false,isCheck: true,width: "140px",label: "就体育与",prop: "legislationTime"},{disabled: false,isCheck: true,width: "80px",label: "消防管道发给",prop: "fullTimeEducation"},{disabled: false,isCheck: true,width: "80px",label: "宣传部成本",prop: "fullTimeDegree"},{disabled: false,isCheck: true,width: "80px",label: "明白你们帮你们",prop: "fullTimeMajor"},{disabled: false,isCheck: true,width: "100px",label: "大概的电饭锅电饭锅",prop: "politicsStatus"},
];

相关文章:

【工具】VUE 前端列表拖拽功能代码

【工具】VUE 前端列表拖拽功能代码 使用组件 yarn add sortablejs --save Sortable.js中文网 (sortablejs.com) 以下代码只是举个例子&#xff0c; 大家可以举一反三去实现各自的业务功能 <template><div><el-button type"primary" click"切换…...

人工智能与量子计算:开启未知领域的智慧之旅

导言 人工智能与量子计算的结合是科技领域的一场创新盛宴&#xff0c;引领我们进入了探索未知领域的新时代。本文将深入研究人工智能与量子计算的交汇点&#xff0c;探讨其原理、应用以及对计算领域的深远影响。 量子计算的崛起为人工智能领域注入了新的活力&#xff0c;开启了…...

2023了,前端实现AI电子秤思路分析

前景小知识&#xff1a; 这几年ai这个话题非常火爆&#xff0c;笔者从事零售行业软件开发也接到了新需求&#xff0c;希望实现ai电子秤&#xff0c;老规矩&#xff0c;先看需求 举个栗子&#xff1a; 或许&#xff0c;你已经留意到&#xff0c;当你在某些大型超市超市或生鲜类…...

CSS学习

CSS学习 1. 什么是css?2.css引入方式2.1 内嵌式2.2 外联式2.3 行内式2.4 引入方式特点 3. 基础选择器3.1 标签选择器3.2 类选择器3.3 id选择器3.4 通配符选择器 4. 文字基本样式4.1 字体样式4.1.1 字体大小4.1.2 字体粗细4.1.3 倾斜4.1.4 字体4.1.5 字体font相关属性连写 4.2 …...

Flask基本用法:一个HelloWorld,搭建服务、发起请求

目录 1、简介 2、安装 3、Flask使用示例 参考 1、简介 官网文档 Flask是一个轻量的web服务框架&#xff0c;我们可以利用它快速搭建一个服务&#xff0c;对外提供接口&#xff0c;其他人可以轻松调用我们的服务。这对算法工程师来说比较关键&#xff0c;我们通常不擅长搞开发…...

Tomcat-安装部署(源码包安装)

一、简介 Tomcat 是由 Apache 开发的一个 Servlet 容器&#xff0c;实现了对 Servlet 和 JSP 的支持&#xff0c;并提供了作为Web服务器的一些特有功能&#xff0c;如Tomcat管理和控制平台、安全域管理和Tomcat阀等。 简单来说&#xff0c;Tomcat是一个WEB应用程序的托管平台…...

【Hadoop_06】MapReduce的概述与wc案例

1、MapReduce概述1.1 MapReduce定义1.2 MapReduce优点1.3 MapReduce缺点1.4 MapReduce核心思想1.5 MapReduce进程1.6 常用数据序列化类型1.7 源码与MapReduce编程规范 2、WordCount案例实操2.1 本地测试2.2 提交到集群测试 1、MapReduce概述 1.1 MapReduce定义 MapReduce是一…...

Qt点击子窗口时父窗口标题栏高亮设计思路

父窗口调用findChildren得到其子孙窗口的列表&#xff0c;列表元素统一为QWidget*&#xff0c;遍历列表元素&#xff0c;每个元素调用installEventFilter&#xff0c;过滤QEvent::FocusIn和QEvent::FocusOut事件&#xff0c;做相应处理即可&#xff1a; QWidget* parent; QLis…...

掌握iText:轻松处理PDF文档-高级篇-添加水印

前言 iText作为一个功能强大、灵活且广泛应用的PDF处理工具&#xff0c;在实际项目中发挥着重要作用。通过这些文章&#xff0c;读者可以深入了解如何利用iText进行PDF的创建、编辑、加密和提取文本等操作&#xff0c;为日常开发工作提供了宝贵的参考和指导。 掌握iText&…...

深度学习基本概念

1.全连接层 全连接层就是该层的所有节点与输入节点全部相连&#xff0c;如图所 示。假设输入节点为X1&#xff0c; X 2&#xff0c; X 3&#xff0c;输出节点为 Y 1&#xff0c; Y 2&#xff0c; Y 3&#xff0c; Y 4。令 矩阵 W 代表全连接层的权重&#xff0c; W 12也就代表 …...

2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录

&#x1f4da;&#x1f4da; &#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Linux》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一…...

基于ssm金旗帜文化培训学校网站的设计与开发论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对培训学校展示信息管理混乱&#xff0c;出错率高&#xff0c;信息安全…...

【Java】猜数字小游戏

规则 游戏开始随机生成4位数字符串&#xff0c;每个数字从0到9各不相同&#xff0c;比如0123玩家10次猜数机会&#xff0c;输入4位数字符串&#xff0c;每个数字从0到9各不相同游戏判断玩家输入与所猜谜底数&#xff0c;给出结果nAnB&#xff0c;A表示位置和数字都猜对的个数&…...

汽车EDI:Chrysler EDI项目案例

菲亚特克莱斯勒汽车Fiat Chrysler Automobiles(FCA)是一家全球性汽车制造商&#xff0c;主营产品包括轿车、SUV、皮卡车、商用车和豪华车等多种车型。其旗下品牌包括菲亚特、克莱斯勒、道奇、Jeep、Ram、阿尔法罗密欧和玛莎拉蒂等。 Chrysler通过EDI来优化订单处理、交付通知、…...

Locust:可能是一款最被低估的压测工具

01、Locust介绍 开源性能测试工具https://www.locust.io/&#xff0c;基于Python的性能压测工具&#xff0c;使用Python代码来定义用户行为&#xff0c;模拟百万计的并发用户访问。每个测试用户的行为由您定义&#xff0c;并且通过Web UI实时监控聚集过程。 压力发生器作为性能…...

用23种设计模式打造一个cocos creator的游戏框架----(十八)责任链模式

1、模式标准 模式名称&#xff1a;责任链模式 模式分类&#xff1a;行为型 模式意图&#xff1a;使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;直到有一个对象处…...

100天精通风控建模(原理+Python实现)——第9天:风控建模中为什么需要特征工程?

风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。本文以视频的形式阐述风控建模中为什么需要特征工程。并提供风控建模原理和Python实现文章清单。    之前已经阐述了100天精通风控建模(原理+Python实现)——第1天:什么是风控建模?    100天精通风控…...

【PHP】计算某个特定时间戳距离现在的天数

在PHP中&#xff0c;你可以使用time()函数获取当前时间的时间戳&#xff0c;然后将它与你想要计算的过去或未来的时间戳进行比较。为了得到相差的天数&#xff0c;你需要先用两个时间戳相减得到秒数差&#xff0c;然后再除以一天的总秒数&#xff08;通常是86400秒&#xff09;…...

lv12 uboot移植深化 9

u-boot-2013.01移植 【实验目的】 了解u-boot 的代码结构及移植的基本方法 【实验环境】 ubuntu 14.04发行版FS4412实验平台交叉编译工具arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行 【实验步骤】 1 建立自己的平台 1.…...

大数据与深度挖掘:如何在数字营销中与研究互动

数字营销最吸引人的部分之一是对数据的内在关注。 如果一种策略往往有积极的数据&#xff0c;那么它就更容易采用。同样&#xff0c;如果一种策略尚未得到证实&#xff0c;则很难获得支持进行测试。 数字营销人员建立数据信心的主要方式是通过研究。这些研究通常分为两类&…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...