element树形筛选

news2024/9/27 12:09:01

<el-input
  v-model="projectName"
  placeholder="请输入名称"
  clearable
  maxlength="10"
  @clear="clearTree"
/>
<el-divider />
<el-tree
  ref="tree"
  class="filter-tree"
  :data="treeList"
  :props="defaultProps"
  default-expand-all
  node-key="id"
  :highlight-current="highlightCurrent"
  :filter-node-method="filterNode"
  @node-click="handleNodeClick"
>
  <div slot-scope="{ node, data }" class="custom-tree-node" :title="node.label">
    <span>{{ node.label }}</span>
    <div class="button-group" @click.stop="() => {}">
       <el-link size="mini" type="primary" icon="el-icon-circle-plus-outline" @click.stop="onAddType(data)" />
       <el-link size="mini" type="primary" icon="el-icon-delete" @click.stop="onDelType(data)" />
    </div>
  </div>
</el-tree>
projectName: '',
treeList: [],
defaultProps: {
  children: 'children',
  label: 'name'
},


 watch: {
    projectName: {
      handler(v) {
        // 监听输入框变化、进行实时过滤
        this.$refs.tree.filter(v)
      }
    }
  },

 methods: {
    // 过滤掉无用的数据
    filterNode(value, data, node) {
      if (!value.trim()) return true
      if (data.name.toLowerCase().indexOf(value.toLowerCase().trim()) !== -1) { return true }
      return this.checkNodes(value, data, node)
    },
    // 筛选父级所需要的子级
    checkNodes(value, data, node) {
      const level = node.level
      if (level === 1) return false
      let parentData = node.parent
      let index = 0
      while (index < level - 1) {
        if (parentData.data.name.toLowerCase().indexOf(value.toLowerCase().trim()) !== -1) return true
        parentData = parentData.parent
        index++
      }
      return false
    },
    // 清空项目树搜索框
    clearTree() {
      this.getOrganizarionTree()
    },
}

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

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

相关文章

技术面试与HR面:两者之间的关联与区别

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

华为OD机试 - 二维伞的雨滴效应(Java JS Python)

题目描述 普通的伞在二维平面世界中,左右两侧均有一条边,而两侧伞边最下面各有一个伞坠子,雨滴落到伞面,逐步流到伞坠处,会将伞坠的信息携带并落到地面,随着日积月累,地面会呈现伞坠的信息。 1、为了模拟伞状雨滴效应,用二叉树来模拟二维平面伞(如下图所示),现在输…

波奇学C++:多态

组合和继承 继承是白箱复用(whiter-box-reuse),获得继承类的内部细节 组合是黑盒测试(black-box-reuse),无法得走类的内部实现 class C {// }; //组合 class E { private:C _cc; }; is-a 关系用继承&#xff0c;人-学生&#xff1b;has-a 关系用组合 车-轮胎。 多态&#…

制作精美房地产电子传单的秘诀与技巧揭秘

如果您是一个房地产从业者或者是想要自己制作一个房地产电子传单的小白&#xff0c;那么本文将为您提供一个简单易懂的制作教程。我们将使用乔拓云网在线制作平台来制作这个电子传单。 第一步&#xff0c;登录乔拓云网在线制作平台。在浏览器中输入并打开乔拓云网的官方网站&am…

Cortex-M3如何跳出BusFault,跳过出错代码,程序往下执行

为了方便演示如何实现该方法&#xff0c;采用构造触发BusFault&#xff0c;方便分析 首先需要对系统Handler控制及状态寄存器SHCSR.MEMFAULTENA使能 往SRAM reserved写入数据&#xff0c;触发BusFault 如上图所示&#xff0c;可以看到触发BusFault前BFSR寄存器第7为高&#…

你参与的APP开发项目安全吗?

Android将安全设计贯穿系统架构的各个层面&#xff0c;覆盖系统内核、虚拟机、应用程序框架层以及应用层各个环节&#xff0c;力求在开放的同时&#xff0c;也恰当保护用户的数据、应用程序和设备的安全。Android安全模型主要提供以下几种安全机制&#xff1a; 进程沙箱隔离机…

IDEA集成Apipost Helper实现一键部署接口(避免参数注释)

先说好处&#xff1a; 1.一次性导入所有接口&#xff0c;不要一个一个扒。 2.对于字段的注释不要一个一个的去手写&#xff0c;映射实体类&#xff0c;自己上传&#xff08;最重要&#xff09;。 3.目录自动归类划分&#xff0c;避免接口混乱。 安装插件 首先&#xff0c;我们打…

Android性能优化深入解析,将你的APP优化到极致的操作~

作为一个Android程序员&#xff0c;性能优化是无法避开的事情&#xff0c;并且性能优化也是Android中最有挑战的工作之一&#xff0c;更是每个工程师都需要掌握的核心技能。 性能问题和Bug不同&#xff0c;后者的分析和解决思路更清晰&#xff0c;很多时候从应用日志即可直接找…

使用“vue init mpvue/mpvue-quickstart“初始化mpvue项目时出现的错误及解决办法

当使用"vue init mpvue/mpvue-quickstart"初始化 mpvue 项目时出现 "vue-cli Failed to download repo mpvue/mpvue-quickstart: connect ETIMEDOUT IP地址"原因是 github 的 IP 解析失败&#xff0c;连接超时 解决办法&#xff1a;更改最新的 github 的 …

面试问题总结(1)

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

Golang RabbitMQ实现的延时队列

文章目录 前言一、延时队列与应用场景二、RabbitMQ如何实现延时队列实现延时队列的基本要素整体的实现原理如下 三、Go语言实战生产者消费者 前言 之前做秒杀商城项目的时候使用到了延时队列来解决订单超时问题&#xff0c;本博客就总结一下Golang是如何利用RabbitMQ实现的延时…

【MySQL基础】一条查询和更新语句的执行流程01-02

目录 MySQL的基本架构示意图连接器查询缓存分析器优化器执行器重要的日志模块&#xff1a;redo log重要的日志模块&#xff1a;binlog更新时redo log 和 binlog 两阶段提交 例如在执行下面这个查询语句&#xff1a; mysql> select * from T where ID10&#xff1b;MySQL的基…

Java反序列化之CommonsCollections CC1链分析

前言 cc链的研究可以说是非常适合java代码审计的入门篇了&#xff0c;十分考验java代码功力&#xff0c;其实也是基础功&#xff0c;跨过了这个门槛&#xff0c;在看看其他业务代码就会比较轻松了。不要说代码难&#xff0c;看不懂&#xff0c;作者也是刚入门java没几个月的小…

MATLAB中fillmissing函数用法

目录 语法 说明 示例 包含 NaN 值的向量 由 NaN 值组成的矩阵 插入缺失数据 使用移动中位数方法 使用自定义填充方法 包含缺失端点的矩阵 包含多个数据类型的表 fillmissing函数的功能是填充缺失的条目。 语法 F fillmissing(A,constant,v) F fillmissing(A,meth…

Redis 高可用及持久化

Redis 高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供…

字节8年经验之谈 —— 冒烟测试、回归测试是什么?

冒烟测试&#xff08;Smoke Testing&#xff09;和回归测试&#xff08;Regression Testing&#xff09;是软件测试中常用的两种测试类型。 冒烟测试&#xff08;Smoke Testing&#xff09;&#xff1a;冒烟测试是在软件开发的早期阶段进行的一种表面级功能验证测试。它主要用…

监控系统典型架构

监控系统典型架构如下&#xff1a; 从左往右看&#xff1a; 采集器是负责采集监控数据的&#xff0c;采集到数据之后传输给服务端&#xff0c;通常是直接写入时序库。 对时序库的数据进行分析和可视化。 告警引擎产生告警事件之后交给告警发送模块做不同媒介的通知。 可视化比…

【月报】Aavegotchi 开发进度更新 - 2023 年 9 月

嗨&#xff0c;Gotchigang&#xff01; 又一个月过去了&#xff0c;我们距离让 Gotchi 游戏走向大众的梦想又近了一步&#xff01; 本月&#xff0c;Gotchi 开发人员正在进行紧张的编程工作&#xff0c;以赶上一些重要的截止日期。 在本月的开发更新中&#xff0c;我们将分享…

2023高教社杯全国大学生数学建模竞赛C题思路分析+代码+论文

如下为C君的2023高教社杯全国大学生数学建模竞赛C题思路分析代码论文 C题蔬菜类商品的自动定价与补货决策 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差, 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&…

Android图表开发---MPAndroidChart

本章内容主要是MPAndroidChart开源框架中的LineChart api com.github.PhilJay:MPAndroidChart:v3.1.0 <com.github.mikephil.charting.charts.LineChartandroid:id"id/lineChart"android:layout_width"match_parent"android:layout_height"330dp…