filter()
描述
筛选 Diagram 中的数据项
用法
filter(
rule?: function,
config?: {
id?: string,
add?: boolean,
permanent?: boolean
}
): void;
// 或
filter(
rule?:{
by?: string | number,
match?: string | number | boolean,
compare?: (value, match, item) => {}
},
config?:{
id?: string,
add?: boolean,
permanent?: boolean
}
): void;
参数
rule- (可选)筛选条件- 如果设置为 function,将按照函数中指定的规则进行筛选。该函数接受一个数据项对象作为参数
- 如果设置为 object,该参数可以包含以下属性:
by- (可选)数据项属性的键match- (可选)要匹配的模式compare- (可选)用于扩展筛选的函数。该函数返回 true 或 false,并接受三个参数:value- 要比较的值match- 要匹配的模式item- 需要比较其值的数据项(例如一个图形)
config- (可选)定义筛选参数的对象。该对象可以包含以下属性:id- (可选)筛选器的 idadd- (可选)定义下一次筛选是应用于已经筛选过的数据(true),还是应用于初始数据(false,默认值)permanent- (可选)设置为 true 可使当前筛选器永久生效。即使下一次筛选的配置对象中没有add:true属性,该筛选器仍会被应用。此类筛选器只能通过resetFilter()方法移除
示例
const diagram = new dhx.Diagram("diagram_container", {
type: "default"
});
diagram.data.parse(data);
// 按照函数中指定的规则进行筛选
diagram.data.filter(function (shape) {
return shape.id > 3;
});
// 按照图形属性的键进行筛选
diagram.data.filter({ by: "text", match: "Read N" });
若要将 Diagram 恢复到初始状态,请在不传递参数的情况下调用 filter() 方法。
diagram.data.filter();
相关文章: 筛选数据项
相关示例: Diagram. 数据. 筛选图形
更新日志: v6.0 中更新