getTaskType

返回任务的类型

string getTaskType(Task task);
taskTask任务对象
string任务的类型

Example

var type = gantt.getTaskType(gantt.getTask(12));

Details
  • task.type 属性被设置且不为空时,返回其值。
  • 如果 task.type 未定义或为空,则方法返回 gantt.config.types.task

由于 task.type 属性是可选的,在代码中检查任务类型时,需要处理该属性可能为空的情况,例如:

// 不推荐:
if (task.type === gantt.config.types.task){
    // 针对任务项的代码
}
  • 没有 type 属性的任务不会满足此条件,这不正确,因为这些任务默认被视为 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;
}
See also
  • Articles
  • Back to top