返回任务的类型
task | Task | 任务对象 |
string | 任务的类型 |
var type = gantt.getTaskType(gantt.getTask(12));
由于 task.type 属性是可选的,在代码中检查任务类型时,需要处理该属性可能为空的情况,例如:
// 不推荐:
if (task.type === gantt.config.types.task){
// 针对任务项的代码
}
更好的做法是包含对空值的检查:
// 推荐:
if (!task.type || task.type === gantt.config.types.task){
// 针对任务项的代码
}
或者,更好的是,使用 getTaskType 方法:
// 更佳:
if (gantt.getTaskType(task) === gantt.config.types.task){
// 针对任务项的代码
}
这样可以确保代码对显式设置了类型的任务以及 Gantt 内部默认分配类型的任务都能正确处理。
你还可以使用以下方法作为获取任务类型的可靠方式,并编写覆盖所有项目类型的条件,避免类型检测错误的问题:
switch (gantt.getTaskType(task)){
case gantt.config.task:
break;
case gantt.config.project:
break;
case gantt.config.milestone:
break;
}