本文重点介绍使用Gantt Instance的主要功能。
点击获DhtmlxGantt官方正式版
让我们考虑最常见的情况-构建具有多个页面/选项卡/视图的应用程序。
以下方法适用于基于 Angular(或基于 React)的应用程序,并且仅在dhtmlxGantt的商业版、企业版或旗舰版中可用(在 GPL 或个人版中不可用):
自定义事件
当您使用甘特图加载页面时,您需要在添加事件之前手动将事件的ID保存到数组中:
const onTaskClick = gantt.attachEvent('onTaskClick', (id) => { gantt.message(`onTaskClick: Task ID: ${id}`); return true; }, ''); eventIDs.push(onTaskClick);
当您切换到另一个页面时,您需要使用已保存到数组的ID手动分离事件:
eventIDs.forEach(event => gantt.detachEvent(event)); eventIDs = [];
数据处理器
你需要手动销毁dataProcessor:
dp.destructor();
请注意,您只需要销毁数据处理器,而不是甘特图。否则,在重新加载页面之前,您将无法使用甘特图。
任务、链接、资源数据、标记、自定义热键
您可以使用clearAll()方法安全地从甘特图实例中删除这些数据。
甘特图配置
没有内置方法可以保存它或将甘特图配置重置为默认配置。 大多数甘特图配置都保存在gantt.config对象中。
CSS
如果您添加了自定义CSS,如果它导致问题,您需要手动删除它。
日历设置
您需要使用gantt.delete Calendar()方法手动删除它们。
其他案例
除了上述几点之外,您可能还需要实现一些其他选项,但目前暂未测试此方法的所有可能场景。
dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。了解更多DhtmlxGantt相关内容,请锁定本套系列教程。