Vue项目使用Sortable.js实现拖拽功能

news2024/10/6 14:30:11

想了解更多-可前往 Sortable.js官网 查看组件属性及参数

安装组件(我这里使用的是NPM安装)
 npm install sortablejs --save
在需要使用拖拽功能的页面中使用(完整功能代码)
<div class="tag_box">
    <div class="drag"  v-for="(item,index) in taglist" :key="index">{{item.name}}</div>
</div>
import Sortable from "sortablejs";
export default {
    data() {
        return {
            taglist:[
                {
                    id:1,
                    name:'型号'
                },{
                    id:2,
                    name:'产牌'
                },{
                    id:3,
                    name:'价格'
                },{
                    id:4,
                    name:'批次'
                },{
                    id:6,
                    name:'有效期'
                },{
                    id:5,
                    name:'描述'
                }]
        }
    },
    methods: {
        async rowDrop() {
            const that = this
            const tbody = document.querySelector(".tag_box");//绑定对应拖拽的父元素
            const sortable = Sortable.create(tbody, {
                animation: 150, //动画
                disabled: false, // 拖拽不可用? false 启用(刚刚渲染表格的时候起作用,后面不起作用)
                handle: ".drag", //指定拖拽目标,点击此目标才可拖拽元素(此例中设置操作按钮拖拽)
                chosenClass: "sortable-chosen",
                filter: ".disabled", //指定不可拖动的类名(el-table中可通过row-class-name设置行的class)
                onEnd: evt => {  //监听拖动结束事件
                    let proId = that.id; //就是我们上面获取到当前行的id值
                    console.log(evt.oldIndex) //当前行的被拖拽前的顺序
                    console.log(evt.newIndex) //当前行的被拖拽后的顺序
                    // 这里就可以写我们需要传给后台的逻辑代码
                    // that.changlistsort(evt.oldIndex, evt.newIndex)
                }
            })
        },
    },
    mounted() {
        this.rowDrop()
    },
    components: {
        Sortable
    }
}

最终效果如下

一、拖拽前

拖拽前

一、拖拽中

拖拽中

一、拖拽后

拖拽后

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

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

相关文章

十六、机器学习进阶知识:线性回归与逻辑回归算法

文章目录 1、线性回归1.1 一元线性回归及实例1.2 多元线性回归及实例 2、逻辑回归2.1 逻辑回归与线性回归的区别2.2 逻辑函数2.3 逻辑回归的概念2.4 损失函数及参数的确定2.6 逻辑回归实例 1、线性回归 回归分析&#xff08;Regression Analysis&#xff09;是确定两种或两种以…

学习 NVIDIA Omniverse 的最基础概念

无用的前言 近两年关于 Omniverse 的宣传一直很多&#xff0c;可我一直没去了解&#xff0c;连它是个啥都不知道。最近正好有契机需要了解它&#xff0c;于是我今天抽时间看了些它的官方介绍&#xff0c;并按照自己的理解梳理在这里。 官方资料索引 Omniverse 官网主页&…

HashMap常见面试问题

简述HashMap原理&#xff1f; HashMap基于数组加链表的方式来实现&#xff0c;数组下标通过hash值来计算&#xff0c;当下表冲突时&#xff0c;就会进行遍历链表&#xff0c;当链表长度大于8的时候会转化为红黑树。 HashMap的put过程&#xff1f; put的第一步是计算hash值&a…

自定义异步任务管理器和线程

import com.lancoo.common.utils.Threads; import com.lancoo.common.utils.spring.SpringUtils;import java.util.TimerTask; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit;/*** 异步任务管理器* * author lancoo*/ public c…

apisix下自定义 Nginx 配置

apisix下自定义 Nginx 配置 在apisix配置文件/conf/config.yaml中添加nginx配置。生成的nginx.conf配置文件如下&#xff1a;说明&#xff1a; APISIX 会通过 apisix/cli/ngx_tpl.lua 这个模板和 conf/config-default.yaml 加 conf/config.yaml 的配置生成 Nginx 配置文件。 在…

如果将视频转化为gif格式图

1.选择视频转换GIF&#xff1a; 2.添加视频文件&#xff1a; 3.点击“开始”&#xff1a; 4.选择设置&#xff0c;将格式选择为1080P更加清晰&#xff1a; 5.输出后的效果图&#xff1a;

传统渠道与互联网新零售较量中:2023年之后电商如何引流裂变?

传统渠道与互联网新零售较量中&#xff1a;2023年之后电商如何引流裂变&#xff1f; 互联网新零售是指通过互联网技术和数据驱动&#xff0c;打造以消费者为中心、以线上线下融合为特点的全新零售模式&#xff0c;也是近年来电商行业转型升级的必然趋势。目前普通市场竞争激烈…

图解python | 元组

1.Python元组 Python的元组与列表类似&#xff0c;不同之处在于元组的元素不能修改。 元组使用小括号&#xff0c;列表使用方括号。 元组创建很简单&#xff0c;只需要在括号中添加元素&#xff0c;并使用逗号隔开即可。 python 复制代码 tup1 (ByteDance, ShowMeAI, 199…

运动重定向:C-3PO-v1

TeachMe: Three-phase learning framework for robotic motion imitation based on interactive teaching and reinforcement learning解析 摘要1. 简介2. 相关工作2.1 基于编码器-解码器的架构2.2 强化学习 3. 方法3.1 问题表述3.2 NTU-DB3.3 阶段1: 编码器和解码器3.4 阶段2:…

9.静态路由

静态路由 中小型网络都会用到&#xff0c;防火墙核心交换机用的很多&#xff0c;一般是用在出口 路由表&#xff1a;路由器用来转发数据包唯一的依据 NextHop下一跳 Static静态路由需要手动设置 ip route-static 目标网段 掩码 下一跳例如&#xff1a;ip route-static 192…

SD-WAN VS MPLS :怎么选择最合适的网络连接方案?

随着企业网络需求的不断增长&#xff0c;网络连接方案也变得更加多样化。在这种情况下&#xff0c;SD-WAN和MPLS成为了企业考虑的两种主要选择。本文将就SD-WAN和MPLS这两种网络连接方案进行比较&#xff0c;深入探讨它们在成本、体验、部署周期和运维等方面的差异。 1、成本投…

LV.13 D2 开发板启动流程 学习笔记

一、开发板启动过程 EMMC&#xff1a;相当于电脑的外存&#xff0c;断电不丢失 开发板上电后首先运行SOC内部iROM中固化的代码(BL0)&#xff0c;这段代码先对基本的软硬件环境(时钟等...)进行初始化&#xff0c;然后再检测拨码开关位置获取启动方式&#xff0c;然后再将对应存储…

vs vue项目目录说明

vue项目目录结构说明 视图&#xff1a; 主要描述src和依赖配置 src下 assets:存放需要用到的静态资源文件的地方 如css.js.img.view等 commponents:存放一些通用的组件&#xff1b;例&#xff1a;在开发当中如果有需要抽出来的公用模块&#xff0c;可以封装为通用组件&#xf…

AI 绘画 | Stable Diffusion 真实人物动漫二次元化

前言 如何让一张真实人物变成动漫二次元风格的图片?Stable Diffusion WebUI加上contolNet扩展插件帮你快速实现。快来使用AI绘画打开异世界的大门吧!!! 真人动漫化 选择大模型 首先选择一个二次元风格人物画风的大模型(我这里选择是SD1.5通用模型anything-v5-PrtRE.sa…

【数字经济】你必须知道的SABOE数字化转型

【文末送书】今天推荐一本企业管理类前沿书籍《企业架构驱动数字化转型&#xff1a;以架构为中心的端到端转型方法论》 目录 01传统企业数字化转型面临诸多挑战02SABOE数字化转型五环法为企业转型破除迷雾03文末送书 01传统企业数字化转型面临诸多挑战 即将过去的2023年&#…

赛邮云全新改版-SUBMAIL.v4,快来看都有哪些变化吧!

赛邮云全新改版-SUBMAIL.v4&#xff0c;快来看都有哪些变化吧&#xff01; [![](https://img-blog.csdnimg.cn/img_convert/b57c34f9d1732e78d85a73d5f0ec5669.png)](https://libraries.mysubmail.com/public/745bbd47ee09e5810cebad1688282e65/images/a8901d3890dd27fae0745ec…

可以组成网络的服务器 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 在一个机房中&#xff0c;服务器的位置标识在n*m的整数矩阵网格中&#xff0c;1表示单元格上有服务器&#xff0c;0表示没有。如果两台服务器位于同一行或者同一列…

git入门教程+常用命令

Git入门教程 本文章主要参照视频教程&#xff1a;https://www.bilibili.com/video/BV1FE411P7B3/?spm_id_from333.337.search-card.all.click&vd_source06caf161b187fb3f4c039bc15e238fea 为什么要使用GIT 版本控制是项目、文档迭代的必然要求&#xff0c;所以需要使用…

traj_dist 笔记:Cython部分(cydist)

1 basic_euclidean.pyx 1.1 cimport 部分 from libc.math cimport sqrt from libc.math cimport fmin #使用 cimport 从 C 的标准库 libc 中导入数学函数 sqrt&#xff08;平方根&#xff09;和 fmin&#xff08;两个浮点数的最小值&#xff09;cimport numpy as np导入 NumP…

张正友相机标定法原理与实现

张正友相机标定法是张正友教授1998年提出的单平面棋盘格的相机标定方法。传统标定法的标定板是需要三维的,需要非常精确,这很难制作,而张正友教授提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可…