Tree 树形控件一级菜单没有复选框,子菜单有复选框,如何实现?

news2024/11/25 14:42:04
   <el-dialog
      title="技术职称选择"
      :visible.sync="isShow"
      width="30%"
      top="50px"
      :before-close="closeInputSelectedDepDialog">
      <div class="tree-content">
        <el-tree
          class="filter-tree my-left-tree"
          :props="defaultLeftProps"
          :load="loadNode1"
          lazy
          check-strictly
          :filter-node-method="filterNode"
          @node-click="nodeClick"
          @check-change="checkChangeClick"
          :highlight-current="isTrue"
          ref="departmentRoot"
          :show-checkbox="showCheckbox"
        >
        </el-tree>
      </div>
      <span slot="footer" class="dialog-footer">
          <el-button size="small" @click="closeInputSelectedDepDialog(0)">取 消</el-button>
          <el-button class="my-e-button"  size="small" @click="closeInputSelectedDepDialog(1)">确定选择</el-button>
     </span>
    </el-dialog>
  1. node-click:节点被点击时的回调,共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身。
  2. check-change:节点选中状态发生变化时的回调,共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点。
  3. show-checkbox表示有复选框

现在的需求则是,A页面使用该组件不希望出现复选框,B页面使用该组件能进行多选,则需要用到复选框,并且根结点没有复选框,不支持选中的情况。

首先解决根结点没有复选框,不支持选中的情况,只需要使用css则可以完成!

  .el-tree .el-tree-node .is-leaf + .el-checkbox .el-checkbox__inner{
    display: inline-block;
  }
  .el-tree .el-tree-node .el-checkbox .el-checkbox__inner{
    display: none;
  }
  .el-tree-node.is-parent.is-leaf .el-checkbox .el-checkbox__inner {
  display: inline-block;
}

第一行代码是当一个节点是叶子节点时,它的后面的复选框会以行内块级元素的方式显示出来。

第二行代码是当一个节点不是叶子节点时,它的复选框会被隐藏起来。

第三行的意思是如果一个节点既是叶子节点又是父节点,它会在树形结构中显示出来。

node-click:节点被点击时的回调,我用于单选。

  // 单选
      nodeClick(node){
        this.selectedDep = {
        name: node.name,
        id: node.nodeId,
        Order:node.Order
      };
        if(type == 1){
          if(!this.selectedDep.name){
            this.$message({
              showClose: true,
              message: '请选择级别!',
              type: 'warning'
            });
          }else {

            this.$emit('emitSubmit',this.selectedDep)
          }
        }else {
          this.selectedDep = {
            name:"",
            id:"",
            Order:''
          };
          this.$emit('emitSubmit',this.selectedDep)
        }

多选时,用的check-change,将每次选择的对象放进数组中,返回给需要的页面。

      checkChangeClick(data, checked, indeterminate){
      if(checked){
        this.selectedDepArr.push(data)
        console.log('selectedDepArr',this.selectedDepArr);
      }else {
        let newArr = [];
        this.selectedDepArr.map(ccvalue=>{
          if( data.nodeId != ccvalue.nodeId ){
            newArr.push(ccvalue)
          }
        });
        this.selectedDepArr =newArr;
      }
    },
 if(this.showChecked && this.isZyjszwInputSelect){
        this.$emit("emitSubmit", this.selectedDepArr);
      }

如何A页面打开是单选,B页面打开是多选的情况呢?

在父组件中,直接在引用子组件的地方,加上一个属性。  :showCheckbox="true"

并传入子组件

  props:{
      "isShow":false,
      showCheckbox:{
        default:false
    }

    },

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

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

相关文章

AMD HD7850 4G显卡刷Bios验真伪(二)

结果就是&#xff1a;开机黑屏&#xff0c;使用HD7850的bios无法识别它… 秉着寻根问底的原则&#xff0c;继续冲浪找线索~ 是的 你猜对了&#xff0c;不出意外的话 就出了意外… 初步断定&#xff0c;这货是7850的阉割版Radeon HD 7850 768SP 1. 首先&#xff0c;尝试在泡泡…

Spring高手之路3——揭秘Spring依赖注入和SpEL表达式

本篇会给大家举出各种Spring属性依赖注入的例子&#xff0c;方便大家理解。 文章目录 1. setter属性注入1.1 使用XML进行setter方法注入1.2 使用Bean注解进行setter方法注入1.3 setter方法注入完整代码示例 2. 构造器注入2.1 使用XML进行构造器注入2.2 使用Bean注解进行构造器属…

面试经历:我为什么选择的测试的?

目录 前言&#xff1a; 判定缺陷间的重复及依赖关系需要开发能力 使用自动化测试工具需要开发能力 黑盒测试偏爱开发能力 说明 白盒测试需要开发能力 安全测试需要开发能力 开发测试工具 前言&#xff1a; 不知不觉已经从事软件测试六年了&#xff0c;从毕业到进入外包公司外…

Android系统的Ashmem匿名共享内存系统分析(5)- 实现共享的原理

声明 其实对于Android系统的Ashmem匿名共享内存系统早就有分析的想法&#xff0c;记得2019年6、7月份Mr.Deng离职期间约定一起对其进行研究的&#xff0c;但因为我个人问题没能实施这个计划&#xff0c;留下些许遗憾…文中参考了很多书籍及博客内容&#xff0c;可能涉及的比较…

SSM 框架

ssm框架是spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#xff0c;service层&#xff0c;DAO层四层。ssm框架是目前比较主流的Java EE企业级框架&#xff0c;适用于搭建各种大型…

张小飞的Java之路——第四十六章——网络编程基础

写在前面&#xff1a; 视频是什么东西&#xff0c;有看文档精彩吗&#xff1f; 视频是什么东西&#xff0c;有看文档速度快吗&#xff1f; 视频是什么东西&#xff0c;有看文档效率高吗&#xff1f; 诸小亮&#xff1a;关于网络你了解多少&#xff1f; 张小飞&#xff1a…

五月份跳槽了,历经阿里测开岗4轮面试,不出意外,还是被刷了....

大多数情况下&#xff0c;测试员的个人技能成长速度&#xff0c;远远大于公司规模或业务的成长速度。所以&#xff0c;跳槽成为了这个行业里最常见的一个词汇。 前几天&#xff0c;我看到有朋友留言说&#xff0c;他在面试阿里的测试开发工程师的时候&#xff0c;灵魂拷问三小…

Java开发工程师是做什么的?高考结束最重要的专业选择!

各位同学大家好&#xff0c;我是小源&#xff0c;明天就是高考了&#xff0c;对于正常的一个考生来说&#xff0c;专本线的同学已经开始陆陆续续准备看专业。今天&#xff0c;好程序员分享一个专业&#xff0c;他的名字叫做Java开发工程师&#xff0c;不知道同学有没有听说过这…

【Linux学习】多线程——信号量 | 基于环形队列的生产者消费者模型 | 自旋锁 | 读写锁

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 一、 信号量1.1 概念1.2 信号量的基本操作1.3 信号量的基本使用接口 二、基于环形队列的生产…

第8章:SpringMVC的文件上传和下载

一、文件上传和下载 1.文件下载 使用ResponseEntity用于控制器方法的返回值类型&#xff0c;该控制器方法的返回值就是响应到浏览器的响应报文。使用ResponseEntity实现下载文件的功能。 ①创建file.html ② 在FileController.java类里面 文件不管是上传还是下载&#xff0…

思科无线AC旁挂并由第三方网关下发业务上网VLAN的案例

在企业网络环境中&#xff0c;思科无线AC&#xff08;Access Controller&#xff09;常用于无线网络的管理和控制。通常情况下&#xff0c;AC会负责分配无线设备的IP地址和VLAN标识&#xff0c;但在某些特定场景下&#xff0c;我们可能需要通过第三方网关来下发业务上网所需的V…

高频Postman接口测试面试题,我面试没通过的原因找到了

目录 一、Postman在工作中使用流程是什么样的&#xff1f; 二、你使用过Postman的哪些功能&#xff1f; 三、Postman如何管理测试环境&#xff1f; 四、Postman如何实现接口关联&#xff1f; 五、Postman参数化有哪几种方式&#xff1f; 六、Postman中全局/环境/集合变量…

Python和PHP相比有什么优势?我来聊聊深入学习的七个关键点

今天要跟大家谈一下一个高中生被Python培训机构坑的真实案例&#xff0c;披着大数据的壳子。这个高中生进去的时候&#xff0c;他们承诺不管什么学历包分配&#xff0c;毕业后直接上岗。这种承诺肯定是不靠谱的&#xff0c;因为基本上只要说出这句话的包分配&#xff0c;都是很…

如何从零开始构建 API ?

假设你请承包商从零开始建造一座房子&#xff0c;你肯定期望他们交付最高质量的房子。他们必须通过检查、遵守安全规范并遵循项目中约定的要求。因为建房子可容不得走捷径。如果承包商经常走捷径&#xff0c;他们的声誉会受到影响&#xff0c;从而失去客户。其实&#xff0c;开…

jmeter-分布式部署之负载机的设置

目录 引言 一、windows下负载机的配置&#xff08;执行机&#xff09; 二、linux下负载机的配置 三、错误总结 写在最后 引言 今天想和大家聊一下关于jmeter分布式部署中负载机的设置问题。作为一个自动化测试工具&#xff0c;jmeter在性能测试方面有着很强的优势&#x…

NLP(3) Text Classification

文章目录 OverviewText classification 的主要任务Topic ClassificationSentiment AnalysisNative Language IdentificationNatural Language Inference 如何构造 Text ClassifierClassification AlgorithmsBias - Variance Balance朴素贝叶斯Logistic RegressionSupport Vecto…

chatgpt赋能python:Python如何倒序输出:一步步教你实现

Python如何倒序输出&#xff1a;一步步教你实现 Python是一种通用编程语言&#xff0c;具有快速开发、易学易用等诸多优点&#xff0c;在大数据、人工智能、科学计算等领域得到广泛应用。其中&#xff0c;倒序输出是Python编程中非常常见的操作。那么&#xff0c;如何在Python…

STM32F407 移植 FreeRTOS

0. 实验准备 本实验是基于正点原子 STM32F407ZG 探索者开发板完成的&#xff0c;所以需要一个STM32F407ZG 探索者开发板 用于移植的基础工程&#xff08;下面会讲&#xff09; FreeRTOS源码&#xff08;下面会讲&#xff09; 1. FreeRTOS移植 1.1 移植前准备 1.1.1 基础工程…

SpringCloud Gateway网关集成与配置

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 &#xff0c;关注我&#xff0c;不迷路 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术…

桶装水站点APP小程序管理系统 方便快捷送水上门

夏天到了&#xff0c;又到了疯狂饮水的季节了&#xff0c;桶装饮用水是日常生活办公环境中必不可少的产品&#xff0c;这种必需品消耗快隔三差五就要购买一次。一般人都是通过电话预定的方式来购买桶装水&#xff0c;商家必须保证随时随地有人接听电话才能避免遗漏客户&#xf…