更新指定的任务
id | string|number | 任务ID |
newState | Task | 可选,任务的新值 |
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); // 应用更改并刷新任务
该方法会触发 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);