全网为数不多清晰可行的在VUE中使用sortable.js实现动态拖拽排序的教程!

news2024/11/28 22:35:59

目录

0 写在前面的

1 依赖安装

2 手写简单标签演示

3 要点

4 效果


0 写在前面的

首先批评以下文章

(10条消息) sortable.js 实现拖拽_sortablejs_花铛的博客-CSDN博客

(10条消息) sortablejs拖拽排序功能(vue)_C_fashionCat的博客-CSDN博客

他们写出的东西都是不经过验证的!!!你们这态度,请不要随便发表博客!! 

进入正题

1 依赖安装

环境说明:Vue2环境

安装命令:npm install sortablejs

2 手写简单标签演示

    <table class="mysort">
      <tr class="thClass"><th>id</th><th >标题</th></tr>
      <tr class="myItem" v-for="item in tableData" :key="item.articleId">
        <td class="myId">{{item.articleId}}</td>
        <td class="myTitle">{{item.articleTitle}}</td>
      </tr>
    </table>
---------------  
data(){
    return{
      tableData: [
  {
    "articleId": 1314,
    "articleTitle": "想玩转Java,那这篇内容不能错过"
  },
  {
    "articleId": 1339,
    "articleTitle": "HTML、CSS、JavaScript、PHP、 MySQL 的学习顺序是什么?"
  },
  {
    "articleId": 1316,
    "articleTitle": "就业岗位只增不减!Java语言还能火多久?"
  },
  {
    "articleId": 1337,
    "articleTitle": "人类能实现大脑编程吗?"
  },
  {
    "articleId": 1333,
    "articleTitle": "万字泣血解析割韭菜内幕,程序员别老想着做副业"
  },
  {
    "articleId": 1338,
    "articleTitle": "MySQL 中删除的数据流落何方?"
  },
  {
    "articleId": 1315,
    "articleTitle": "量子力学?量子计算机?秒杀传统计算机的能力从何而来?"
  },
  {
    "articleId": 1331,
    "articleTitle": "计算机网络安全问题和日常防范措施"
  },
  {
    "articleId": 1334,
    "articleTitle": "99%的Java程序员会踩的6个坑"
  },
  {
    "articleId": 1335,
    "articleTitle": "用vue构建用户界面有哪些好处?"
  },
  {
    "articleId": 1336,
    "articleTitle": "这 11 种编程语言,还“活着”吗?"
  },
  {
    "articleId": 1346,
    "articleTitle": "12年的祖传“屎山”代码,年收入竟超1.4亿元?"
  },
  {
    "articleId": 1348,
    "articleTitle": "前端教程:开发流程中项目需求分析怎么做?"
  },
  {
    "articleId": 1350,
    "articleTitle": "大白话带你认识 JVM11"
  },
  {
    "articleId": 1353,
    "articleTitle": "sdcsd"
  },
  {
    "articleId": 1354,
    "articleTitle": "df"
  }
],
      sortData: [] // 拖拽数据
  }},
-------------------
  methods:{
    // 排序信息提交
    submitSort(){
     let ArrSortId=this.sortData.map((da)=>{
        return da.articleId;
      })
      console.log(ArrSortId)
      // 发送排序文章id向后端
    },
    // 拖拽
    rowDrop() {
      const tbody = document.querySelector(".mysort");
      Sortable.create(tbody, {
        animation: 300,
        delay: 10,
        // 如果有不想排序的,在这里按照class匹配的方式写出即可
        filter:".thClass",
        // 需要拖拽的标签的class,强烈推荐写
        draggable:".myItem",
        onEnd:({ newIndex, oldIndex })=>{
          let sortData = this.sortData;
          let temp=sortData[oldIndex-1]
          sortData.splice(oldIndex-1,1)
          sortData.splice(newIndex-1,-1,temp)
          this.sortData=sortData;
        }
      });
    },
  }

css

------------
.mysort{
  background-color: #fecfef;
  margin: 3px auto;
  font-size: 20px;
  user-select: none;
}
.thClass{
  background-color: #defaea;
  color: #000;
}
.myId{
  width: 200px;
  background-color: #667eea;
  color: #000;
}
.myTitle{
  width: 800px;
  background-color: #fbc2eb;
  color: #0c2a70;
}
.myItem :hover{
 background-color: #fddb92;
  font-size: 22px;
}
.myBut{
  position: fixed;
  top: 49%;
  right: 3%;
}

3 要点

其一就是不建议对原数组进行直接修改,建议先把它复制一份出来,对复制的数据进行修改,如果直接对原数字进行修改,会遇到许多坑。

其二就是注意那几个参数, Animation是动画持续时间,delay是动画的延时,这些不是重要的,重要的是下面两个, Filter过滤器的意思, Filter后面跟的参数是class的名字,如果想某个class不想被拖拽,即可在filter后面加上即可,注意要加上一个小点点。同理 draggable 后面跟的是需要拖拽的class记得把我们需要拖拽的标签上面都打上class哦。


其三就是onEnd的我们必须要写成箭头括号的形式,因为这样写就不会被vm进行管控,我们需要做的就是不被他管控。


其四的话需要注意层级关系,我们在获取元素的时候,一定需要填写的是所有需要拖拽标签的父亲标签的class。

4 效果

 

后端接受后,将数据库更改 

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

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

相关文章

Spring6入门 + Log4j2

1、环境要求 JDK&#xff1a;Java17&#xff08;Spring6要求JDK最低版本是Java17&#xff09; Maven&#xff1a;3.6 Spring&#xff1a;6.0.2 2、构建模块 &#xff08;1&#xff09;构建父模块spring6 在idea中&#xff0c;依次单击 File -> New -> Project ->…

什么是内部网络分段渗透测试?

网络攻击的规模、范围和复杂性与日俱增。随着黑客及其攻击方法变得越来越复杂&#xff0c;您的企业必须做出相应的响应&#xff0c;否则您的安全边界就会不堪重负。 如今&#xff0c;内部网络分段是将攻击成功风险降至最低、改善数据流和隔离关键支付数据的主要方法之一。 但是…

【U-Boot 之七】fastboot原理分析及uboot fastboot功能实践

本文首先介绍了fastboot的基本原理&#xff0c;然后分析了uboot中fastboot的实现&#xff0c;最后&#xff0c;从实践的角度测试了fastboot协议及各种fastboot命令的使用方式等 。本文的仅按照我本人的实际测试过程进行了简单的描述。若有不当之处&#xff0c;欢迎各位大神不吝…

专家警告AI可能会导致人类灭绝?

人工智能可能导致人类灭绝&#xff0c;包括 OpenAI 和 Google Deepmind 负责人在内的专家警告说 数十人支持在人工智能安全中心 的网页上发表的声明。 它写道&#xff1a;“减轻人工智能灭绝的风险应该与其他社会规模的风险&#xff08;如流行病和核战争&#xff09;一起成为全…

Linux系统安装RabbitMQ

rabbitmq安装 说明&#xff1a;本次使用centos7.9 安装虚拟机. 1. 安装依赖环境 在线安装依赖环境&#xff1a; yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc xz2. 安装Erlang 根据课…

[原创]集权设施保护之LDAP协议

LDAP是一种目录访问协议&#xff0c;它规定了以树状结构的方式来存储和访问数据。然而协议是抽象的&#xff0c;要产生具体的功效&#xff0c;必须在应用中实现&#xff0c;比如AD域服务就实现了LDAP协议。 LDAP最明显的优势就是读取速度快&#xff0c;拥有极高的搜索效率。 可…

Drools规则引擎

Drools规则引擎 Drools规则引擎1、Drools简介2、Drools入门案例2.1、业务场景2.2、maven坐标2.3、编写xml配置文件&#xff08;多方法&#xff09;2.4、创建drl规则文件2.5、单元测试 3、Drools基础语法3.1、规则文件的构成3.2、规则体语法结构3.2.1、条件部分3.2.1.1、约束连接…

day4,day5 -java集合框架

List、Set、Map等常用集合类的特点和用法。 常用集合类&#xff08;List、Set、Map 等&#xff09;是 Java 中提供的数据结构&#xff0c;用于存储和操作一组数据。以下是它们的特点和用法&#xff1a; List&#xff08;列表&#xff09;: 特点&#xff1a;有序集合&#xff0…

多元办公场景下,企业如何保障工作效率与数据安全流通?

为适应数字化转型需求&#xff0c;提升办公效率&#xff0c;很多企业对工作模式进行革新&#xff0c;并将更多协同办公工具引入工作流程。然而&#xff0c;这也扩大了企业内网对外的安全暴露面&#xff0c;企业亟需进一步加强底层基础设施的网络安全建设&#xff0c;严防勒索病…

分布式监控平台——Zabbix6.0

市场上常用的监控软件&#xff1a; 传统运维&#xff1a;zabbix、 Nagios云原生环境&#xff1a; Prometheus &#xff08;go语言开发的&#xff09; 一、zabbix概述 作为一个运维&#xff0c;需要会使用监控系统查看服务器状态以及网站流量指标&#xff0c;利用监控系统的数…

内网渗透(八十六)之Exchange ProxyLogon攻击链利用

Exchange ProxyLogon攻击链利用 漏洞背景 2021年3月2日,微软发布了Exchange服务器的紧急安全更新,修复了如下7个相关的漏洞。 Exchange服务端请求伪造漏洞(CVE-2021-26855):未经身份验证的攻击者能够构造HTTP请求扫描内网并通过Exchange服务器进行身份验证。Exchange反序列…

基于SpringBoot的财务管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;…

王石创立“生物圈三号”发起“双碳同行者大会”,绿色家居企业参与其中

2023年5月27日 &#xff0c;由万科集团创始人、深石集团创始人王石先生创立的碳中和社区品牌“生物圈三号”在深圳大梅沙成功举办了“回归未来双碳同行——生物圈三号双碳同行者大会暨全球运河穿越新书发布会”。 生物圈三号作为社区碳中和综合解决方案平台&#xff0c;为建筑、…

JVM-基础知识

JVM基础知识 JVM结构图 字节码文件 Java虚拟机不和包括Java在内的任何语言绑定,它只与字节码文件这种特定的二进制文件格式所关联. Class文件结构不仅仅是JVM的执行入口,更是Java生态圈的基础和核心. 字节码文件内容是什么 字节码是一种二进制的类文件,他的内容是JVM指令,而…

OpenAI竞对再被谷歌加注!4.5亿美元新融资到位,累计已吸金14.5亿美元

量子位 | 公众号 QbitAI OpenAI之外&#xff0c;第二不差钱的AI初创公司出现了&#xff01; 研发出ChatGPT最强竞品Claude的Anthropic公司&#xff0c;在谷歌投资之后&#xff0c;再次官宣获得了4.5亿美元C轮融资。 这轮收购之后&#xff0c;Anthropic资金一跃达到14.5亿美元…

CPLEX Studio OPL项目介绍

参考B站视频&#xff1a;cplex入门到精通 1.理解 OPL 项目 CPLEX Studio 处理 OPL 项目文件(.project)、数据文件(.dat)、模型文件 (.mod)、设置文件(.ops)和运行配置(.oplproject)。 文件类型扩展名作用份数说明模型文件.mod模型存储和数据1~n必须数据文件.dat数据存储0~n非…

【代码随想录】刷题Day42

1.01背包问题 问题介绍&#xff1a;有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 1.二维数组实现思想 1.dp[i][j]的含义&#xff1a;首先…

头羊部落亮相首届校园预制菜展,成为预制菜行业领头羊

由北京工商大学与北京市学校基建后勤管理事务中心共同主办的首届预制菜产业与智慧团餐高质量发展研讨会暨校园食材展&#xff08;以下简称大会&#xff09;于2023年5月26-27日在北京工商大学举办。 △首届预制菜产业与智慧团餐高质量发展研讨会在北京工商大学隆重举行 △预制菜…

【Python map()、filter() 和 reduce()】零基础也能轻松掌握的学习路线与参考资料

Python编程中常使用map()、filter()和reduce()函数来实现对数据集的操作&#xff0c;尤其是在处理数据时&#xff0c;这些函数非常有用。在本文中&#xff0c;将介绍这些函数的学习路线和优秀实践&#xff0c;并提供一些参考资料供读者参考。 一、Python map() 函数 Python中…

附录5-黑马头条案例

目录 1 效果 2 组件库vant 2.1 安装 2.2 配置 2.3 项目中的使用 2.3.1 引用 2.3.2 tabbar 底部切换 2.3.3 navbar 顶部标题 2.3.4 van-list 上拉触底更新 2.3.5 van-pull-refresh 下拉更新 2.3.6 v-cell 2.3.7 van-icon 2.3.8 自定义风格 3 保持滚…