使用el-tree时需要进行搜索筛选,筛选只针对第一级节点进行,然后筛选完成同时保留子节点,应该怎么做啊,我只查到作用于全部节点筛选的
在使用 el-tree 时,可以通过自定义 filter-node-method 方法来实现筛选功能。filter-node-method 接受三个参数,分别为当前节点、关键字、节点数据。
你可以在这个方法里面进行筛选,判断当前节点是否是第一级节点,若是第一级节点,则进行筛选,筛选完成后,可以在方法里面返回一个 Boolean 值,表示当前节点是否被筛选。
<el-tree
:data="treeData"
:props="defaultProps"
filter-node-method="filterNode"
@node-click="handleNodeClick"
>
</el-tree>
然后在vue中定义这个方法:
methods: {
filterNode(value, data, node) {
if (!node.parent) {
return data.label.indexOf(value) !== -1;
}
return true;
}
}
这样就只会对第一层节点进行筛选,并且保留子节点
另外,你也可以在这里面进行其他的筛选条件,进行筛选,返回相应的值即可