Vue3自研开源Tree组件:人性化的拖拽API设计

news2025/1/12 0:54:07

针对Element Plus Tree组件拖拽功能API用的麻烦,小卷开发了一个API使用简单的JuanTree组件。拖拽功能用起来非常简单!

文章目录

    • 使用示例
      • allowDrag
      • allowDrop
      • 支持节点勾选
      • 支持dirty检测
      • 后台API交互
    • 源码实现

使用示例

组件的使用很简单:

在这里插入图片描述

通过ref引用tree组件,可操作其expose出来的方法,比如,保存节点操作(新增、删除和重命名节点)的变更、新增一级节点:

在这里插入图片描述

通过v-model绑定勾选项,data属性绑定初始化树形结构的嵌套数据,option-props用于绑定组件的选项:

在这里插入图片描述

allowDrop方法,用来让用户控制哪些节点不允许drop操作;当然哪些节点不允许drag也可以由相应的方法来控制,比如下面的逻辑控制:

在这里插入图片描述

allowDrag

比如44这个节点无法拖动:

在这里插入图片描述

allowDrop

演示拖拽drop的限制,Java Web节点不能释放在a11a22节点上,超过了5级限制。

在这里插入图片描述

支持节点勾选

在拖拽完成后,节点的勾选状态能保证一致性

在这里插入图片描述

支持dirty检测

在编辑节点的情况下,要先保存变更才能继续拖拽

在这里插入图片描述

后台API交互

提供了便捷的拖拽回调接口

在这里插入图片描述

这里给用户进行拖拽的后台API提供了必要的参数,如果参数不够可以后期再扩展,同时提供了回调的done函数,调用了done()才更新拖拽后的节点,非常的人性化!

在这里插入图片描述

源码实现

见后续会员教程分享

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

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

相关文章

Kubernetes—二进制部署k8s集群搭建单机matser和etcd集群(1)

目录 组件部署 一、操作系统初始化配置 二、升级Liunx内核 三、部署docker引擎 四、部署etcd集群 1.在 master01 节点上操作 2.在 node节点上操作 检查etcd群集状态 增删查键 备份还原 etcd(拓展) 五.部署 Master 组件 1.上传解压 2.创建…

git查看记录详解

文章目录 git查看记录查看文件修改列表查看修改差异友好的查看修改记录结合多个选项查看记录示例输出 git查看记录 使用 git log 你不仅可以查看提交记录,还可以通过一些选项查看文件的修改列表、修改差异,并以更友好的方式查看修改记录。以下是一些常用…

ROS2入门到精通—— 2-14 ROS2实战:远程可视化实车上的文件

0 前言 ROS车的外接屏幕很小,在上面鼠标操作和键盘操作都比较麻烦,想要远程可视化ROS车上的文件,可以在本文学到一些用到实际工作中 1 ssh 终端操作远程桌面 ssh -Y pi192.168.33.200输入密码登陆,这样还是不能可视化文件&…

CS224W—02 Node Embeddings

CS224W—02 Node Embeddings Node Embeddings概念 传统的图机器学习: 给定一个输入图,抽取节点、边和图级别特征, 学习一个能将这些特征映射到标签的模型(像SVM, NN…)这个抽取不同级别特征的过程,就是特征工程feature enginee…

华为NetEngine AR1000V虚拟路由器 nfv

华为NetEngine AR1000V虚拟路由器 华为NetEngine AR1000V虚拟路由器彩页 - 华为企业业务 华为NetEngine AR1000V虚拟路由器 NetEngine AR1000V是华为公司在传统企业网络向SD-WAN转型的趋势下推出的虚拟路由器。 AR1000V基于NFV技术,可以部署在X86硬件平台的服务…

我出一道面试题,看看你能拿 3k 还是 30k!

大家好,我是程序员鱼皮。欢迎屏幕前的各位来到今天的模拟面试现场,接下来我会出一道经典的后端面试题,你只需要进行 4 个简单的选择,就能判断出来你的水平是新手(3k)、初级(10k)、中…

HarmonyOs~ArkUI进阶 之 状态管理

合理选择装饰器 最小化状态共享范围 在没有强烈的业务需求下,尽可能按照状态需要共享的最小范围选择合适的装饰器。 应用开发过程中,按照组件颗粒度,状态一般分为组件内独享的状态和组件间需要共享的状态 组件间需要共享的状态 组件间需…

细说MCU的DAC1和DAC2各自输出一通道模拟信号的方法

目录 一、参考硬件 二、 建立新工程 1.配置DAC1 2.配置DAC1的DMA 3.配置DAC2 4.配置DAC2的DMA 5.配置定时器 6.配置时钟和Debug 三、修改代码 四、 查看结果 一、参考硬件 本项目依赖的软件和硬件工程参考本文作者写的文章: 细说MCU的DAC1实现…

【中项第三版】系统集成项目管理工程师 | 第 11 章 规划过程组⑧ | 11.21 - 11.22

前言 第11章对应的内容选择题和案例分析都会进行考查,这一章节属于10大管理的内容,学习要以教材为准。本章上午题分值预计在15分。 目录 11.21 实施定量风险分析 11.21.1 主要输入 11.21.2 主要工具与技术 11.21.3 主要输出 11.22 规划风险应对 …

UPLOAD-LABS靶场[超详细通关教程,通关攻略]

---------------------------------------- 靶场环境: 下载链接: https://codeload.github.com/c0ny1/upload-labs/zip/refs/heads/master 使用小皮集成环境来完成这个靶场 将文件放到WWW目录下就可以进行访问 ------------------------------------…

【JavaEE】HTTP(3)

🤡🤡🤡个人主页🤡🤡🤡 🤡🤡🤡JavaEE专栏🤡🤡🤡 文章目录 1.HTTP响应1.2状态码 2.HTTPS协议2.1概念2.2引入对称加密2.2.1概念2.2.2图解…

Ribbon-微服务注册中心(Ribbon概述 基于Ribbon实现订单调⽤商品服务 服务调⽤Ribbon⾼级 )

目录 一、Ribbon概述 1. 什么是Ribbon 2. Ribbon的主要作⽤ 二、基于Ribbon实现订单调⽤商品服务 1. 坐标依赖 2. ⼯程改造 三、服务调⽤Ribbon⾼级 1. 负载均衡概述 2. 客户端负载均衡与服务端负载均衡 3. 基于Ribbon实现负载均衡 3.1 搭建多服务实例 3.2 负载均衡…

完蛋!我把AI喂吐了!

当我们用 [RAG] 构建一个知识库问答应用的时候,总是希望知识库里面灌的数据越多,问答的效果越好,事实真是如此吗?这篇文章给大家答案。 引言 在人工智能问答系统的发展中,RAG(Retrieval-Augmented Generat…

努比亚开局连发两款旗舰机,其中一款还能卫星通话?

在智能手机市场竞争日益激烈的当下,努比亚作为国内知名手机品牌,始终致力于为消费者带来兼具创新性和实用性的产品。 近日,努比亚正式发布了两款备受瞩目的旗舰手机——努比亚Z60 Ultra领先版和努比亚Z60S Pro。两款手机不仅在硬件配置上实现…

Macbook Pro升级macOS 10.15及以上的全过程

Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言升级步骤选择指定macOS版本并下载安装升级macOS安装过程安装完成 前言 由于现在更多软件安装所需系统要求10.15及以上,导致很多app应用不能使用,如edge mac的操作系统要求…

LlamaIndex vs LangChain: 理解关键差异

LLM(大型语言模型)已成为各行各业不可或缺的工具,用于生成类人文本、翻译语言和回答问题等任务。有时,LLM的响应令人惊叹,因为它们比人类更迅速、更准确。这表明了它们对当今技术格局的重大影响。 今天让我们聊聊 Llam…

i2c中结构体 数据传输 i2c Tools使用

I2C中重要结构体 在I2C(Inter-Integrated Circuit)通信中,涉及的主要结构体通常用于描述设备、消息和传输的配置。以下是一些常见的I2C结构体及其作用: i2c_adapter: 这是一个代表I2C总线适配器的结构体。它包含与该I2C总线相关的…

【Django5】模型定义与使用

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理(Cookies&Session) 第八章 文件上传…

【ai】 2005年 rule based expert system学习笔记1

PPT 是2005年的? Negnevitsky, Pearson Education 使用两种推理引擎的选择 backward chaining(逆向链接)推理过程 backward chaining(逆向链接)推理过程的GPT解释 这幅图展示了一个基于规则的专家系统如何通过backward chaining(逆向链接)推理过程来达到最终的推理目标…

[tomato]靶机复现漏洞详解!

靶机地址: https://download.vulnhub.com/tomato/Tomato.ova 靶机环境:Vmware 网络:NAT模式 信息收集: arp-scan -l 扫描靶机ip地址 扫描开放的端口信息 nmap -sS -sV -p- 192.168.77.135 发现开放端口21&#xff…