element-UI tree树形控件搜索过滤节点,不展示子节点的问题:

element-UI tree树形控件搜索过滤节点,不展示子节点的问题:

正常需求:搜索小区名称,展示对应的子节点“楼栋”

element官方案例:

当在搜索框输入时,会把子节点过滤 掩藏掉

<el-tree
class="filter-tree"
accordion
:data="data"
:filter-node-method="filterNode"
:props="defaultProps"
ref="tree"
eload="buildingData"
@node-click="buidingNode"
>
</el-tree>

methods: {
    
    
	filterNode(value, data) {
    
    
 		if(!value) return true 
		return data. label.indexof (value) !=-1
	}
},


官方代码掩藏子节点


代码更改后可展示子节点:

methods: {
    
    
        filterNode (value, data, node) {
    
    
		    if (!value) return true
		    let parentNode = node.parent
		    labels = [node.label]
		    level = 1
		    while (level < node.level) {
    
    
		      labels = [...labels, parentNode.label]
		      parentNode = parentNode.parent
		      level++
		    }
		    return labels.some(label => label.indexOf(value) !== -1)
    	}
    },

在这里插入图片描述

//楼栋查询
	buidingNode(data) {
    
    
		console . log( 2333',data .num) //直接获取楼栋信息
		if (data.num) {
    
    
		this.searchForm. building = data.num.
		this.fetchPageListData()//重新请求接口渲染
		}
	},
//项目渲染

最终实现效果为,点击对应的楼栋信息,然后渲染对应的表格数据!

猜你喜欢

转载自blog.csdn.net/weixin_44072916/article/details/112370398