对树结构进行筛选

 const copyTree = JSON.parse(JSON.stringify(this.searchDatabaseList));
      this.databaseList = copyTree.filter((node) =>
        this.filterData(node, (ele) => {
          return ele.title.indexOf(this.searchValue) >= 0;
        })
  );  


public filterData(node: any, filter: any): any {
    let flag = false;
    if (filter(node)) {
      flag = true;
    } else if (node.children instanceof Array) {
      const dataCh = node.children.filter((ele) =>
        this.filterData(ele, filter)
      );
      node.children = dataCh;
      if (node.children.length > 0) {
        flag = true;
      }
    }
    return flag;
  }

  

posted @ 2022-02-15 15:46  宇智波copy  阅读(175)  评论(0)    收藏  举报