跳到主要内容

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 - (可选)用于扩展筛选的函数。该函数返回 truefalse,并接受三个参数:
        • value - 要比较的值
        • match - 要匹配的模式
        • item - 需要比较其值的数据项(例如一个图形)
  • config - (可选)定义筛选参数的对象。该对象可以包含以下属性:
    • id - (可选)筛选器的 id
    • add - (可选)定义下一次筛选是应用于已经筛选过的数据(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 中更新