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

vuedraggable 选项介绍

vuedraggable 是基于 SortableJS 的 Vue 组件,提供了丰富的选项来定制拖拽行为。以下是 vuedraggable 常用的选项和它们的详细说明:

常用选项介绍

  1. group
    配置拖拽分组。多个列表可以共享同一个分组,允许它们之间的项目互相拖拽。

    group: { name: 'shared', // 分组的名称 pull: 'clone', // 是否允许拖拽项从该列表中被拖出 put: true // 是否允许从其他列表中拖拽项放入此列表 }
    • name: 用于标识该拖拽组,其他列表可以通过相同的名称与之共享。
    • pull: 指定当前列表是否允许拖拽项从列表中移除。可选值有:
      • 'clone': 允许拖拽项被克隆并拖出列表。
      • true: 允许拖拽项被移除。
      • false: 禁止移除。
    • put: 指定是否允许将其他列表中的项拖入当前列表。默认为 true,表示允许拖入。
  2. disabled
    禁用拖拽功能。

    disabled: true // 禁用拖拽
  3. animation
    设置拖拽项在排序时的动画效果,单位为毫秒。

    animation: 150 // 150ms的动画时间
  4. handle
    配置拖拽的句柄。只有指定的元素可以被拖动,其它部分将无法进行拖拽。

    handle: '.drag-handle' // 拖拽句柄的CSS类名
  5. delay
    设置拖拽延迟,单位为毫秒。在拖拽开始之前,拖动元素需要等待指定的时间(例如,避免误触发)。

    delay: 200 // 200ms延迟后才能开始拖拽
  6. forceFallback
    强制使用浏览器原生的拖拽 API。通常用于某些浏览器不支持 HTML5 拖拽 API 或者自定义拖拽的场景。

    forceFallback: true // 强制启用备用拖拽
  7. fallbackClass
    指定一个 CSS 类,用于设置拖拽项在拖拽时的样式。这个类会在元素开始拖拽时被添加到元素上,结束拖拽时移除。

    fallbackClass: 'dragging' // 拖拽时添加的 CSS 类
  8. fallbackOnBody
    设置为 true 时,拖拽元素会被附加到 body 元素上,而不是拖拽元素的父级容器。这样可以避免拖拽元素被父容器的样式限制。

    fallbackOnBody: true // 将拖拽项附加到body
  9. swap
    启用交换排序模式,在拖拽时替换被拖拽项和目标位置的项。适用于需要交换元素顺序的场景。

    swap: true // 启用交换排序
  10. removeOnSpill
    如果拖拽项被拖拽到一个不支持该项放置的区域,它将被移除。用于防止拖拽项被放置到无效区域。

    removeOnSpill: true // 拖拽项放置到无效区域时移除
  11. direction
    设置拖拽的方向,horizontalvertical。默认情况下,vuedraggable 会根据容器的排列方向自动决定拖拽方向。

    direction: 'horizontal' // 设置为水平拖拽
  12. dragClass
    设置一个 CSS 类,当拖拽项正在拖拽时,这个类会被添加到拖拽项上。通常用于给拖拽项添加样式变化。

    dragClass: 'dragging' // 拖拽项添加的 CSS 类
  13. setData
    用于指定拖拽过程中可以设置的自定义数据,默认情况下是 text/plain

    setData: (evt, data) => { // 可以自定义拖拽时传递的数据 data.someProperty = 'value'; }
  14. ghostClass
    设置一个 CSS 类,这个类会在拖拽项被拖动时应用到该元素的占位符上(通常是拖拽元素透明版)。

    ghostClass: 'ghost' // 拖拽时设置的透明占位符类
  15. chosenClass
    设置一个 CSS 类,这个类会在拖拽项被选中时应用。通常用于添加选择项的样式。

    chosenClass: 'chosen' // 选中项的 CSS 类
  16. onStart
    当拖拽开始时触发的回调函数。传入一个事件对象,包含拖拽的详细信息。

    onStart: (evt) => { console.log('Drag started', evt); }
  17. onEnd
    当拖拽结束时触发的回调函数,传入一个事件对象。可以在此时获取最终的拖拽结果。

    onEnd: (evt) => { console.log('Drag ended', evt); }
  18. onUpdate
    当拖拽过程中,元素排序更新时触发。适用于动态更新数据。

    onUpdate: (evt) => { console.log('List updated', evt); }
  19. onAdd
    当一个项被添加到列表时触发。通常用于动态添加项的场景。

    onAdd: (evt) => { console.log('Item added', evt); }
  20. onRemove
    当一个项被从列表中移除时触发。适用于删除或移除项的场景。

    onRemove: (evt) => { console.log('Item removed', evt); }

示例:完整配置

<template> 
<draggable v-model="items" :options="dragOptions" @start="onDragStart" @end="onDragEnd" > 
<div v-for="(item, index) in items" :key="index">{{ item }}</div> 
</draggable> 
</template><script>import draggable from "vuedraggable";export default { 
components: { draggable, }, 
data() { 
return { items: ["Item 1", "Item 2", "Item 3", "Item 4"], dragOptions: { group: { name: "shared", pull: "clone", put: true }, animation: 200, handle: ".drag-handle", disabled: false, }, }; }, 
methods: { 
onDragStart(evt) { console.log("Drag started", evt); }, 
onDragEnd(evt) { console.log("Drag ended", evt); }, }, }; 
</script><style scoped> 
.drag-handle { cursor: move; padding: 5px; background-color: #ccc; border-radius: 5px; } </style>

总结

通过 vuedraggable 提供的各种选项,你可以非常灵活地控制拖拽行为,包括禁用拖拽、定制拖拽手柄、设置动画效果、支持多列拖拽等。选项的丰富性使得它能够满足大多数应用场景的需求。

相关文章:

vuedraggable 选项介绍

vuedraggable 是基于 SortableJS 的 Vue 组件&#xff0c;提供了丰富的选项来定制拖拽行为。以下是 vuedraggable 常用的选项和它们的详细说明&#xff1a; 常用选项介绍 group 配置拖拽分组。多个列表可以共享同一个分组&#xff0c;允许它们之间的项目互相拖拽。 group: { na…...

微信小程序获取后端数据

在小程序中获取后端接口数据 通常可以使用 wx.request 方法&#xff0c;以下是一个基本示例&#xff1a; // pages/index/index.js Page({data: {// 用于存储后端返回的数据resultData: [] },onLoad() {this.fetchData();},fetchData() {wx.request({url: https://your-backe…...

ThreadLocal` 的工作原理

ThreadLocal 的工作原理&#xff1a; ThreadLocal 是 Java 提供的一个类&#xff0c;它用于为每个线程提供独立的变量副本。也就是说&#xff0c;多个线程访问同一个 ThreadLocal 变量时&#xff0c;每个线程看到的值都是不同的&#xff0c;相互隔离&#xff0c;互不干扰。 T…...

数据挖掘教学指南:从基础到应用

数据挖掘教学指南&#xff1a;从基础到应用 引言 数据挖掘是大数据时代的核心技术之一&#xff0c;它从大量数据中提取有用信息和知识。本教学文章旨在为学生和初学者提供一个全面的数据挖掘学习指南&#xff0c;涵盖数据挖掘的基本概念、流程、常用技术、工具以及教学建议。…...

大模型搜索引擎增强问答demo-纯python实现

流程概览 本文使用python语言,实现了大模型搜索引擎增强问答demo。 大模型搜索引擎增强问答定义:根据问题搜索得到相关内容,拼接prompt=问题+搜索结果,将这个prompt传入大模型,得到最终的结果。 优势在于搜索引擎可以返回实时性信息,例如明日双色球开奖信息、最新八卦…...

【C语言程序设计——选择结构程序设计】按从小到大排序三个数(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 编程要求 相关知识 1. 选择结构 2. 主要语句类型 3. 比较操作 4. 交换操作 测试说明 通关代码 测试结果 任务描述 本关任务&#xff1a;从键盘上输入三个数&#xff0c;请按从小到大的顺序排序并打印输出排序后的结果。 编程要求 根据提示…...

简洁安装配置在Windows环境下使用vscode开发pytorch

简洁安装配置在Windows环境下使用vscode开发pytorch 使用anaconda安装pytorch&#xff0c;通过vscode集成环境开发pytorch 下载 anaconda 下载网址&#xff0c;选择对应系统的版本 https://repo.anaconda.com/archive/ windows可以选择Anaconda3-2024.10-1-Windows-x86_64.e…...

conda安装及demo:SadTalker实现图片+音频生成高质量视频

1.安装conda 下载各个版本地址&#xff1a;https://repo.anaconda.com/archive/ win10版本&#xff1a; Anaconda3-2023.03-1-Windows-x86_64 linux版本&#xff1a; Anaconda3-2023.03-1-Linux-x86_64 Windows安装 环境变量 conda -V2.配置conda镜像源 安装pip conda…...

【面试】后端开发面试中常见数据结构及应用场景、原理总结

在后端开发面试中&#xff0c;常见的数据结构包括数组、链表、栈、队列、二叉树、平衡树、堆、图和哈希表等。以下是这些数据结构的总结&#xff0c;包括它们的应用场景、优缺点。 常见数据结构及其应用场景 数据结构应用场景数组存储固定大小的数据集合&#xff0c;如学生成…...

141.《mac m系列芯片安装mongodb详细教程》

文章目录 下载从官网下载安装包 下载后双击解压出文件夹安装文件名修改为 mongodb配置data存放位置和日志log的存放位置启动方式一方式二方式二:输入mongo报错以及解决办法 本人电脑 m2 pro,属于 arm 架构 下载 官网地址: mongodb官网 怎么查看自己电脑应该下载哪个版本,输入…...

Java 23 集合框架详解:ArrayList、LinkedList、Vector

&#x1f4da; Java 23 集合框架详解&#xff1a;ArrayList、LinkedList、Vector 在 Java 集合框架中&#xff0c;ArrayList、LinkedList 和 Vector 是三种最常用的 List 接口实现类。它们都可以存储有序的、可重复的元素&#xff0c;但它们在 底层实现、性能 和 多线程安全 等…...

03、MySQL安全管理和特性解析(DBA运维专用)

03、MySQL安全管理和特性解析 本节主要讲MySQL的安全管理、角色使用、特定场景下的数据库对象、各版本特性以及存储引擎 目录 03、MySQL安全管理和特性解析 1、 用户和权限管理 2、 MySQL角色管理 3、 MySQL密码管理 4、 用户资源限制 5、 忘记root密码处理办法 6、 SQ…...

创建型模式5.单例模式

创建型模式 工厂方法模式&#xff08;Factory Method Pattern&#xff09;抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;建造者模式&#xff08;Builder Pattern&#xff09;原型模式&#xff08;Prototype Pattern&#xff09;单例模式&#xff08;Singleto…...

用户界面软件02

基于表单的用户界面 在“基于表单的用户界面”里面&#xff0c;用户开始时选中某个业务处理&#xff08;模块&#xff09;&#xff0c;然后应用程序就使用一系列的表单来引导用户完成整个处理过程。大型机系统上的大部分用户界面都是这样子的。[Cok97]中有更为详细的讨论。 面…...

VTK 鼠标+键盘重构

1、鼠标事件 如果有鼠标事件处理等相应的需求,可以重写该事件。 void OnMouseMove() override; //鼠标移动事件 void OnLeftButtonDown() override;//左键按下事件 void OnLeftButtonUp() override;//左键抬起事件 void OnMiddleButtonDown() override;//滚轮按下事件 …...

go语言处理JSON数据详解

一、结构体与json之间的转换 Go语言处理JSON数据通常涉及到将JSON数据解析成Go结构体,或者将Go结构体序列化为JSON格式。Go提供了内置的encoding/json包来实现这些操作。下面详细介绍如何在Go中处理JSON数据。 1. Go结构体与JSON映射 Go语言的encoding/json包可以将JSON数据…...

基于gin一个还算比较优雅的controller实现

看了两天时间的go&#xff0c;对于go的编码风格还不是很了解&#xff0c;但是了解到go并未有Java那样成体系的编码风格规范&#xff0c;所以自己浅尝试了一下&#xff0c;风格无对错&#xff0c;欢迎交流讨论&#xff5e; controller层&#xff1a; package …...

PDFMathTranslate: Star13.8k,一款基于AI的PDF文档全文双语翻译PDF文档全文双语翻译,保留格式神器,你应该需要它

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 PDFMathTranslate是一个开源项目&#xff0c;旨在为用户提供便捷的PDF科学论文翻译解决方案。它不仅能够翻译文本&#xff0c;还能保留公式、图表、目…...

Python编程实例-特征向量与特征值编程实现

特征向量与特征值编程实现 文章目录 特征向量与特征值编程实现1、什么是特征向量2、特征向量背后的直觉3、为什么特征向量很重要?4、如何计算特征向量?4、特征向量Python实现5、可视化特征向量6、总结线性代数是许多高级数学概念的基石,广泛应用于数据科学、机器学习、计算机…...

Vue3-跨层组件通信Provide/Inject机制详解

Vue 3 中的 Provide 和 Inject 机制是专为跨层级传递数据而设计的&#xff0c;适用于祖先组件和后代组件之间的通信。与props 和 emits 不同&#xff0c;Provide/Inject 可以跨越多个层级进行数据传递&#xff0c;而不需要逐层传递。 1. Provide provide 是一个在祖先组件中提…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...