element-UI tree樹形控制元件搜尋過濾節點,不展示子節點的問題:
阿新 • • 發佈:2021-01-09
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()//重新請求介面渲染
}
},
//專案渲染
最終實現效果為,點選對應的樓棟資訊,然後渲染對應的表格資料!