# 导航树设置子节点过滤
# 1.场景介绍
本文讲解如何在导航树中设置查询前过滤条件,只显示名字为“测试节点”子节点所在的父节点和下属所有子节点数据。
# 2.效果展示
- 未设置过滤条件。

- 设置了过滤条件。

# 3.实现思路
导航树高级-添加事件-查询实体前设置过滤条件,对data解构赋值,然后节点类型是否为子节点,并添加条件。
# 4.操作步骤
在表单中,给导航树添加查询实体前设置过滤条件,书写代码。

// 对应的点击的值,可以看打印出data里面的值
console.log('data:', data)
// 结构赋值
const { node } = data || {};
const { data: nodeData } = node || {}
// 判断子节点
if(nodeData != null) {
// 如果节点类型为根节点
if(nodeData.type === "parentNode") {
// 根节点过滤条件可以在这里配置
const condtiion = {
"and": {}
}
callback(condition)
}
} else {
// 如果节点类型为子节点
const condtiion = {
"and": {
"items": [{
// 需要过滤的属性
"propertyName": "childNodes.nodeName",
// 设置过滤条件: = |<>|contains |not contains 分别为等于|不等于|包含|不包含
"op": "=",
// 过滤属性对应的值
"propertyValue": "测试节点"
}]
},
// "orderPropertyNames": "name:desc" // 分为两种升序|降序 “sortField:asc|desc”
}
callback(condtiion)
}