首页 > 其他分享 >JS 树型结构 模糊搜索 匹配到所有的节点,包括所有的父节点

JS 树型结构 模糊搜索 匹配到所有的节点,包括所有的父节点

时间:2023-06-01 12:12:22浏览次数:43  
标签:ab const element filterNodeMethod 节点 树型 JS data children

treeData 就是el-tree :data要绑定的数据  :data=treeData  treeOptions.data是接口返回的原始树形结构数据 // 根据关键字过滤后的数据 const treeData = computed(() => {     if (!options.searchText) return treeOptions.data;     let mhres = filterNodeMethod(options.searchText, treeOptions.data)     return mhres }) // 处理搜索后的数据返回树形结构 const filterNodeMethod = (value, arr) => {     if (!arr) {         return []     }     let newarr = [];     arr.forEach(element => {         if (element.name.indexOf(value) > -1) {             const ab = filterNodeMethod(value, element.children);             const obj = {                 ...element,                 children: ab             }             newarr.push(obj);         } else {             if (element.children && element.children.length > 0) {                 const ab = filterNodeMethod(value, element.children);                 const obj = {                     ...element,                     children: ab                 };                 if (ab && ab.length > 0) {                     newarr.push(obj);                 }             }         }     });     return newarr; };

标签:ab,const,element,filterNodeMethod,节点,树型,JS,data,children
From: https://www.cnblogs.com/csji/p/17448565.html

相关文章

  • nodejs版playwright
        awaitthis._page.waitForLoadState('networkidle');  awaitthis._page.waitForLoadState('load')  awaitthis._page.waitForLoadState('domcontentloaded')  awaitthis._page.waitForSelector('body');await......
  • json.dumps(),json.loads(),json.dump(),json.load()方法的区别(python)
    1.json.dumps()json.dump()是将字典类型转化成字符串类型。importjsondic={'a':'1111','b':'2222','c':'3333','d':'4444'}st=json.dumps(dic)print("我是字典类型的",dic)print("我是字......
  • 原生JS输入姓名科目分数添加到表格,可删除
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • JVM-常用工具(jps、jstat、jinfo、jmap、jhat、jstack、jconsole、jvisualvm)使用
    场景记录JVM中常用工具。jps:虚拟机进程状态工具jps(JVMProcessStatusTool):虚拟机进程状态工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID。命令格式:jps[options][hostid]示例:jps-l ......
  • python neo4j将新节点连接到旧标签
    要在Python中使用py2neo将新节点连接到已存在的节点标签,你可以执行以下步骤:导入所需的类和函数:frompy2neoimportGraph,Node,Relationship连接到Neo4j数据库:graph=Graph("bolt://localhost:7687",auth=("username","password"))确保将"username"和&q......
  • JS中传递数字过大,数据值会变化的解决办法
    虽然本人从事后端业务为主,但是在实际开发中难免或多或少会遇到与js打交道的情况,今天记录一个实际开发中遇到的小问题,与大家分享如下:如果要在js函数中传递大整型数值,一定要用字符串,否则会出现精度变化的情况,不准确...onclick="testfun(20221123140846431743)"...functiontestfu......
  • 如何使用Next.js创建全栈应用程序
    Next.js乍一看似乎令人生畏,因为有这么多新概念需要掌握。但别担心——在这个循序渐进的教程中,我将为您提供使用Next.js创建您的第一个现代全栈应用程序所需的所有基本信息。在本教程中,我将带您了解Next.js的基础知识,并指导您创建您的第一个全栈应用程序。在本教程结束时,您将......
  • neo4j,python,批量建立节点时,会重复建立相同名称节点。去重。
    前提经过度娘得知,可以使用第三方包去重,但只管去重,你后面关系乱了人家第三方包不管。=-=或者直接在neo4j里面使用数据库语言去重,但关系还是得重新建立。况且,我想用python去重。干货来了后来,我换了个思路,那么就是合并节点。(虽然跟去重差不多)但总归总做出来了使用NodeMatcher......
  • ES部署+Kibana部署+IK分词器(单节点)
    一、Elasticsearch7.9.1官网下载地址:ElasticsearchES7.9.1,内置了JDK,我是centos系统,下载LINUXX86_64下载、解压、放到/usr/es/下二、配置cd/usr/es&&llvi/elasticsearch/config/elasticsearch.yml#打开节点名称node.name:node-1#这里的node-1为node-name配置的值clus......
  • [SprigMVC/SpringBoot] JSON序列化专题之日期序列化问题:接口报Jackson框架错误“Inva
    0序言今日工作中遇到的一个bug。各位看官且听我娓娓道来。1问题描述请求接口时,service层返回到controller层的数据结构为List<Map<Strig,Object>>,而Map中存在一个key=date,valuetype=java.time.LocalDate的Entry,且日志报如下错误:InvalidDefinitionException:Java8date......