Angular cli8过滤树形结构数据并保留树形结构

本文介绍如何在Angular8项目中对三级及以上树形结构数据进行过滤操作,同时保持数据的树形结构。核心思路是利用递归方法,当节点满足过滤条件或含有符合条件的子节点时保留该节点。
摘要由CSDN通过智能技术生成

1、适用场景

实际开发中经常会遇到需要对三级甚至是无限级树型结构进行过滤并且过滤之后仍要保留树形结构的情况,此时采用递归的方式可以满足要求,不但可以完成过滤需求并保留树形结构。

2、核心思想

如果当前节点包含过滤条件据并且没有子节点则直接保留该节点;如果当前节点不包含过滤条件并且没有子节点则直接不保留该节点;如果当前节点有子节点不管当前节点是否包含过滤条件都对当前节点的子节点进行递归过滤。

3、具体实现

// 进行过滤的条件
private queryText = '521';
// 进行过滤的数据
private treeDataes = [
	{
   
		name: 'Item1',
		childs: null
	},
	{
   
		name: 'Item2',
		childs: [
			{
   
				name: 'Item21',
				childs: null
			}, {
   
				name: 'Item22',
				childs:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值