关于#elementui#的问题:使用el-tree时需要进行搜索筛选

使用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;
  }
}

这样就只会对第一层节点进行筛选,并且保留子节点

另外,你也可以在这里面进行其他的筛选条件,进行筛选,返回相应的值即可