跳到主要内容

updateTask

Description

更新指定的任务

updateTask: (id: string | number, newState?: Task) => void

Parameters

  • id - (required) string | number - 任务ID
  • newState - (optional) Task - 可选,任务的新值

Example

var taskId = gantt.addTask({
id:10,
text:"Task #10",
start_date:"02-04-2013",
duration:8,
parent:1
});

gantt.getTask(taskId).text = "Task #13"; // 修改任务数据
gantt.updateTask(taskId); // 应用更改并刷新任务

Details

注释

该方法会触发 onAfterTaskUpdate 事件。

注释

如果启用了 dataProcessor,该方法也会激活它。

该方法应在修改任务对象后调用。它会更新甘特图的内部状态,刷新相关的 UI 部分,并将更新的信息发送到后端。

调用时,会触发 onAfterTaskUpdate 事件,从而可以启动进一步的重新计算。

如果您正在使用 DataProcessor,调用此方法将向服务器发送更新请求。

对于只需视觉更新而无需保存的情况,请使用 refreshTask 方法。该方法会刷新任务的显示,但不会触发额外的计算。

gantt.templates.task_class = function(start, end, task){
if(task.$active) {
return "active_task";
}
};

gantt.attachEvent("onTaskClick", function(id,e){
gantt.getTask(id).$active = true;
gantt.refreshTask(id); /*!*/
});

另外,您也可以通过向 updateTask 方法传递新的任务对象作为第二个参数来更新任务:

var task = {
id: 2, text: 'New task text',
start_date: new Date(2025,03,02),
end_date: new Date(2025,03,04),
$source: [1],
$target: [2]
}
gantt.updateTask(2,task);
注释