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

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中的绑定项也会被移除,因为它已变成父节点。

在这里插入图片描述

源码实现

见后续补充教程。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 防火墙——SNAT和DNAT策略的原理及应用、防火墙规则的备份、还原和抓包
  • python基础---1.变量、运算符和表达式、基本数据结构
  • 基于Orangepi全志H616开发嵌入式数据库——SQLite
  • Android Button设置点击监听器用switch case R.id.xxxx报错:Constant expression required
  • 2679. 矩阵中的和
  • DolphinDB Web 端权限管理:可视化操作指南
  • 钡铼网关实时数据互联,加速IEC104与MQTT云平台对接
  • C++STL简介(二)
  • 面试重点---快速排序
  • 模块与组件、模块化与组件化的理解
  • 可消费的媒体类型和可生成的媒体类型
  • 数据结构——单链表OJ题(上)
  • 玄机-第一章 应急响应-webshell查杀
  • 数据库之数据表基本操作
  • Prometheus监控ZooKeeper
  • 深入了解以太坊
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • C# 免费离线人脸识别 2.0 Demo
  • CSS盒模型深入
  • es6
  • JavaScript标准库系列——Math对象和Date对象(二)
  • java中具有继承关系的类及其对象初始化顺序
  • Netty 4.1 源代码学习:线程模型
  • redis学习笔记(三):列表、集合、有序集合
  • Vue.js-Day01
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 阿里云Kubernetes容器服务上体验Knative
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 对超线程几个不同角度的解释
  • 码农张的Bug人生 - 见面之礼
  • 前端之Sass/Scss实战笔记
  • 一个项目push到多个远程Git仓库
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • postgresql行列转换函数
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # wps必须要登录激活才能使用吗?
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (C#)一个最简单的链表类
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (初研) Sentence-embedding fine-tune notebook
  • (多级缓存)缓存同步
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (四)库存超卖案例实战——优化redis分布式锁
  • (算法)Travel Information Center
  • (源码分析)springsecurity认证授权
  • (转)ObjectiveC 深浅拷贝学习
  • **PHP二维数组遍历时同时赋值
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .Net 6.0--通用帮助类--FileHelper
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net6 webapi log4net完整配置使用流程
  • .NET的数据绑定
  • .net流程开发平台的一些难点(1)
  • .NET命名规范和开发约定