使用el-tree时需要进行搜索筛选,筛选只针对第一级节点进行,然后筛选完成同时保留子节点,应该怎么做啊,我只查到作用于全部节点筛选的
1条回答 默认 最新
临风而眠 2023-01-18 10:48关注在使用 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; } }这样就只会对第一层节点进行筛选,并且保留子节点
另外,你也可以在这里面进行其他的筛选条件,进行筛选,返回相应的值即可
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用