项目中用的是elementui的tree组件,要实现的效果是根据关键字去筛选过滤出禁用的节点;
所以首先需要的是对树结构数据进行整合:
export function deepFilter3(nodes, key, query) {
Array.isArray(nodes) &&
nodes.forEach((item) => {
if (item[key].includes(query)) {
item.disabled = true;
}
deepFilter3(item.children, key, query);
});
return nodes;
}
其次在树节点中动态添加禁用css:
![](https://img-blog.csdnimg.cn/d3bf34fbcd1a4fa4b631d6d46abc768f.png)