getTaskBy

根据给定的条件查找任务

Array <Task> getTaskBy(string | function propertyName, [string | number | boolean | array propertyValue,object types] );
propertyNamestring | function要匹配的属性名或过滤函数
propertyValuestring | number | boolean | array属性对应的匹配值
typesobject指定要包含在结果中的任务类型的对象
Array <Task>符合条件的任务对象数组

Example

// 基础搜索
const userTasks = gantt.getTaskBy("user_id", [5]);
 
// 使用过滤函数
let userTasks = gantt.getTaskBy(function(task){
   return task.user_id == 5 || !task.user_id;
});
 
userTasks = gantt.getTaskBy(task => task.user_id == 5);

Related samples

Details
  • 此方法允许你根据属性值选择任务,例如查找分配给特定用户的任务或已完成的任务。
  • 调用 gantt.getTaskBy(propertyName, propertyValue) 时,使用的是宽松相等比较(“双等号”,==)。
  • gantt.getTaskBy(propertyName, propertyValue) 的结果可能会被 gantt 缓存,因此这种形式可能比使用过滤函数版本 gantt.getTaskBy((task: object) => boolean) 更快。

默认情况下,gantt.getTaskBy() 只返回匹配条件的任务和里程碑,排除项目项。

如果要包含所有类型的记录,可以使用第三个参数:

gantt.getTaskBy("progress", 1, { task: true, project: true, milestone: true });

如果只想获取特定类型的项目,可以在第三个参数中指定:

gantt.getTaskBy("progress", 1, { project: true})
See also
Change log

types 参数在 v8.0 中引入

Back to top