树组件的过滤相对比较复杂,为了应对各种场景,我们提供了如下过滤方式:
一、根过滤
- 配置:在数据的“编辑”中,设置树形数据的根过滤,该过滤条件返回的是所有符合条件的记录集合,该集合是列表结构而非树形结构。
- js中使用:设置根过滤条件为fparent等于1的代码如下:
var data = this.comp("mainData");
data.getTreeOption().rootFilter = ["fparent=eq.1"];
data.refreshData();
注意:[]中可以写多个条件,条件之间用,分隔,条件之间为默认是and关系,or关系需要在条件上加上,如下:
var data = this.comp("mainData");
data.getTreeOption().rootFilter = ["fparent=eq.1","or.fparent=eq.2"];
data.refreshData();
二、智能过滤
该过滤返回的数据为树形结构,可自行配置是否构建祖先、子孙,使用步骤如下:
1. 定义虚拟节点及设置过滤属性
(1)添加一个计算列,用于存储虚拟节点类别。
(2)设置根展现方式
默认:不构建虚拟树
虚拟树:构建过滤节点的祖先和子孙
虚拟树(只保留父):构建过滤节点和该节点的祖先
虚拟树(只保留子):构建过滤节点和该节点的子孙
(3)设置虚拟节点为定义的计算列
2. 设置过滤
(1)使用操作
参数:
值:过滤的值,改值可以是输入框绑定的列等
(2)使用“智能过滤”组件,该组件会自动感知目标数据集是否为树形数据,以及是否设置了虚拟节点,然后自动构建虚拟树。