Vue3开源Tree组件研发:节点勾选支持v-model

在这里插入图片描述
自研Tree组件有两个原因:1. 目前开源UI对Tree组件的用户API不太友好,2. 提升Vue3组件自研能力。

目前已实现的功能见上面思维导图。想象Tree组件的一个使用场景:后台管理员通过Tree组件来完成用户角色授权,同时支持对权限进行新增和删除等操作。这里既涉及到Tree节点的勾选操作,又涉及到节点增删。我们的研发就是同时很好的支持多个功能一起使用的情况,不能有bug,即便用户往往只启用一种功能。

自研Tree组件功能演示 - 节点勾选

用法示例

在这里插入图片描述

v-model绑定的是一个已选中节点backId数组。显然这里的节点我们只考虑叶子节点,也就是最外层的节点。id为后台模型的id。用户操作勾选,v-model的数据模型会自动更新。

功能演示

v-model初始值

在这里插入图片描述

v-model初始绑定的数组,会让视图完成默认的勾选。

勾选和反选

用户勾选后,v-model同步更新,绑定的数据为选中的叶子节点的backId

在这里插入图片描述

删除节点

叶子节点删除时,v-model也会相应的更新:

在这里插入图片描述

支持删除父节点的情况下,v-model同样会一致更新。

在这里插入图片描述

新增节点下的勾选控制

新增一个节点后,该节点在没有保存时,不能被选中(本身不能被点击,同时外层父节点勾选,也不能级联选中它),只有保存从后台同步了backId才能勾选噢~

在这里插入图片描述

在这里插入图片描述

对已勾选的叶节点执行新增

可以看到原来存在于v-model中的绑定项也会被移除,因为它已变成父节点。

在这里插入图片描述

源码实现

见后续补充教程。

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

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

相关文章

【和相同的二元子数组】python刷题记录

R2-前缀和专题 目录 前缀和哈希表 双指针 ps: 第一眼过去,这题应该能用双指针解出来,应该也能用前缀和解题。 前缀和哈希表 适用于 nums[i] 值不固定为 0 和 1 的其他情况 class Solution:def numSubarraysWithSum(self, nums: List[int], goal: i…

揭秘高效语音转文字工具:让沟通更便捷

嘿,各位办公室的小伙伴们,今儿咱们来聊聊那些能让咱们文员生活大变样的神器——特别是那些能把咱们嘴里嘟囔的话儿,瞬间变成电脑里整整齐齐文字的语音转文字工具。说起来,自从有了这些宝贝,我感觉自己都快能飞起来了&a…

onlyoffice用nginx反向代理

我对于onlyoffice的需求就是当个在线编辑器使用。在集成react的时候之前都是写的绝对路径的地址,这样在需要迁移应用的时候就造成了巨大的麻烦,所以我决定用nginx做反向代理,这样我集成的时候就不用每次都修改源码中的地址了。 一开始写的代…

ETH现货ETF流入量估算:会重演BTC现货ETF走势吗?

以太坊现货ETF将于7月23日上线,成为市场关注的焦点。ETH ETF的推出带来了很多与BTC ETF不同的特性,这些特性容易被市场忽视。本文将探讨ETH现货ETF的流入量估算,并分析其是否会重演BTC现货ETF的走势。 ETHE流出量预测 ETH ETF的收费结构与BT…

生活方式酒店升势迅起,喆啡酒店缘何成为投资热点?

伴随国内消费结构转型升级,旅游需求持续增加。文旅部发布的《国内旅游提升计划(2023—2025年)》提出,需丰富优质旅游供给,并进一步提高消费者体验及满意度,这将为酒店行业带来更广阔的客源和更高的质量要求…

云借阅图书管理系统——系统概述

一、云借阅系统功能模块介绍 云借阅图书管理系统主要实现了两大功能模块:用户登录模块和图书管理模块,用户登录模块主要用于实现用户的登录与注销;图书管理模块主要用于管理图书,如新书推荐、图书借阅等。 二、云借阅系统功能结…

怎么隐藏搜狗输入法

点击输入法,右键选择更多 点击选项,点击全屏隐藏

Mojo函数

正如在语言基础中提到的,Mojo支持两种类型的函数:def和fn函数。您可以在任何函数中使用这两种声明方式,包括main()函数,但它们具有不同的默认行为,如本页面所述。 我们认为def和fn都有很好的用例,并且不认…

opencv arm 交叉编译

step1.opencv源码文件夹下新建build-arm目录 step2. cmake图像化配置 cmake-gui .. step3. 选择交叉编译 step4.检索交叉编译链路径 step5. 配置 配置install路径 配置编译、链接选项 添加人脸检测模块 config->generate step6. make编译 built-arm目录下: …

谷粒商城实战笔记-61-商品服务-API-品牌管理-云存储开通与使用

文章目录 一,图片云存储二,阿里云OSS1,OSS2,基于OSS的文件上传架构3,Java中使用OSS 一,图片云存储 这张图展示了文件存储的几种常见模式: 普通上传分布式情况下的普通上传使用自建服务器云存储…

vue3-print-nb实现打印pdf分页

安装插件 npm install vue3-print-nb --savevue3 引入 import print from vue3-print-nb // 打印插件 app.use(print)使用 这里使用的是对象配置方式 对象配置方式——在js中定义一个对象,对象中可配置打印区域相关属性,在需要打印的单据内容最外面的…

Java----反射

什么是反射? 反射就是允许对成员变量、成员方法和构造方法的信息进行编程访问。换句话来讲,就是通过反射,我们可以在不需要创建其对象的情况下就可以获取其定义的各种属性值以及方法。常见的应用就是IDEA中的提示功能,当我…

【FAS】《The Research of RGB Image Based Face Anti-Spoofing》

文章目录 1、原文2、相关工作3、基于特征解耦的人脸活体检测算法3.1、方法3.2、实验结果 4、基于解构与组合的人脸活体检测方法4.1、方法4.2、实验 5、作者总结6、结论(own)7、附录7.1、CycleGAN7.2、InfoGAN7.3、3D Face 1、原文 [1]张克越.基于RGB图像…

民大食堂用餐小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商家管理,档口号管理,商家餐品管理,餐品种类管理,购物车管理,订单信息管理 微信端账号功能包括:系统首页&a…

跟着丑萌气质狗学习WPF——自定义按钮模板以及设置触发器

自定义按钮模板以及设置触发器 <Window x:Class"WPF_Study_Solution.Window4"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.micros…

多线程-进阶2

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多数据结构知识 1.CAS 1.1CAS全称:Compare and swap 比较内存和cpu寄存器中的内容,如果发现相同,就进行交换(交换的是内存和另一个寄存器的内容) 一个内存的…

AB安全产品详解Guard master Safety Products

AB安全产品详解Guard master Safety Products

ubuntu安装并配置flameshot截图软件

参考&#xff1a;flameshot key-bindins 安装 sudo apt install flameshot自定义快捷键 Settings->Keyboard->View and Customize Shortcuts->Custom Shortcuts&#xff0c;输入该快捷键名称&#xff08;自定义&#xff09;&#xff0c;然后输入command&#xff08;…

项目负责人的实战心得:如何高效检查工作

项目负责人的实战心得&#xff1a;如何高效检查工作 前言一、检查工作的重要性二、检查工作的常见误区三、有效的检查策略四、实战案例分析五、持续改进结语 前言 在项目管理的广阔天地中&#xff0c;每一位项目负责人都像是一艘航船的舵手&#xff0c;引领着团队穿越波涛汹涌的…

全网最适合入门的面向对象编程教程:28 类和对象的Python实现-Python编程原则、哲学和规范大汇总

全网最适合入门的面向对象编程教程&#xff1a;28 类和对象的 Python 实现-Python 编程原则、哲学和规范大汇总 摘要&#xff1a; 本文主要介绍了在使用 Python 进行面向对象编程时&#xff0c;Python 异常处理的原则-“请求谅解&#xff0c;而非许可”&#xff0c;以及软件设…