甘特图是轻松前端一种广泛使用的工具,它可以用来管理和展示项目进度,搞定甘特同时提高协作效率。分钟本文将介绍一些流行的轻松前端 JavaScript 甘特图库及其用法,以帮助更好地理解和选择适合需求的搞定甘特甘特图库!
下面是维基百科对甘特图的介绍:
甘特图(Gantt chart)是条状图的一种流行类型,显示项目、进度以及其他与时间相关的系统进展的内在关系随着时间进展的情况,是由亨利·甘特 (Henry Laurence Gantt) 于1910年开发出。在项目管理中,甘特图显示项目的终端元素的开始和结束,概要元素或终端元素的依赖关系,管理者可透过甘特图,监控项目当前各任务的进度。若想要同时显示多个不同的项目开始与结束的时间,就可以利用甘特图呈现,监控项目当前各任务的进度。
Frappe Gantt是一个用于生成甘特图的JavaScript库,支持交互式绘制、拖拽、缩放、任务依赖关系和时间刻度等功能。其具有以下特点:
可以通过以下步骤来使用 Frappe Gantt:
npm install frappe-gantt
<div id="gantt"></div>
import Gantt from 'frappe-gantt';
const tasks = [
{
id: 'task-1',
name: 'Task 1',
start: '2023-04-12',
end: '2023-05-12'
},
{
id: 'task-2',
name: 'Task 2',
start: '2023-05-12',
end: '2023-06-12',
dependencies: 'task-1'
}
];
const gantt = new Gantt('#gantt', tasks);
需要注意的是,在使用 Frappe Gantt 时,还需要在项目中引入相关样式和语言包等资源,以便正常使用。
Github:https://github.com/frappe/gantt。
DHTMLX Gantt 是一个开源的 JavaScript 甘特图库,可以在图表中说明和管理项目进度。其具有以下特点:
dhtmlxGantt 提供了免费版和付费版,使用步骤如下:
npm install dhtmlx-gantt
<div id="gantt_here" style='width:1000px; height:450px;'></div>
import 'dhtmlx-gantt';
import 'dhtmlx-gantt/codebase/dhtmlxgantt.css';
const tasks = {
data: [
{
id: 1,
text: 'Project #1',
start_date: '2023-04-12',
duration: 18,
progress: 0.4
},
{
id: 2,
text: 'Task #1',
start_date: '2023-04-12',
duration: 8,
parent: 1,
progress: 0.6
}
],
links: [
{
id: 1,
source: 1,
target: 2,
type: '1'
}
]
};
gantt.init('gantt_here');
gantt.parse(tasks);
以上代码将在id为"gantt_here"的div中创建一个简单的甘特图。
Github:https://github.com/DHTMLX/gantt。
gantt-task-react是一个基于React和TypeScript的交互式甘特图组件。它允许用户快速创建美观、可交互的甘特图,并提供了各种配置选项,使得开发者可以自定义甘特图的背景色、时间刻度、任务栏等样式。其具有以下特点:
可以通过以下步骤来使用 gantt-task-react:
npm install gantt-task-react
import React from 'react';
import Gantt from 'gantt-task-react';
function MyComponent() {
const tasks = {
data: [
{
id: 1,
text: 'Task #1',
start_date: '2023-04-12',
duration: 4,
progress: 0.4
},
{
id: 2,
text: 'Task #2',
start_date: '2023-04-14',
duration: 3,
progress: 0.6
}
]
};
return (
<Gantt tasks={ tasks} />
);
}
export default MyComponent;
<Gantt
tasks={ tasks}
dateGrid={ {
hour: "[Hh]"
}}
timeSteps={ {
day: 1
}}
scrollPositinotallow={ {
scrollTop: 150
}}
taskListWidth={ 300}
/>
以上代码将在 MyComponent 中创建一个简单的甘特图,并设置了一些常用的配置项。
Github:https://github.com/MaTeMaTuK/gantt-task-react。
Vue Ganttastic 是一个基于Vue 3的简单、交互式且高度可定制的甘特图组件。它可以在Web应用中展示任务和进度,支持拖拽、缩放和事件处理等交互特性。其具有以下特点:
可以通过以下步骤来使用 Vue Ganttastic:
npm install vue-ganttastic
<template>
<div id="app">
<GanttChart :tasks="tasks" />
</div>
</template>
<script>
import { defineComponent } from 'vue';
import GanttChart from 'vue-ganttastic';
export default defineComponent({
name: 'App',
components: {
GanttChart,
},
data() {
return {
tasks: [
{
id: 1,
label: 'Task 1',
start: '2023-04-12',
end: '2023-04-16',
},
{
id: 2,
label: 'Task 2',
start: '2023-04-14',
end: '2023-04-18',
},
],
};
},
});
</script>
<GanttChart
:tasks="tasks"
:chart-start-date="new Date('2023-04-10')"
:chart-end-date="new Date('2023-04-20')"
:bar-style="{ backgroundColor: '#66ccff' }"
:is-vertical="false"
:day-class-factory="dayClassFactory"
/>
以上代码将在App组件中创建一个简单的甘特图,并设置了一些常用的配置项。
Github:https://github.com/zunnzunn/vue-ganttastic。
NgxGantt 是一款基于 Angular 框架的甘特图组件,支持多种视图展示并支持多种高级的特性,能快速的帮助开发者搭建自己的甘特图应用。其具有以下特点:
可以通过以下步骤来使用 ngx-gantt:
npm install ngx-gantt
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { GanttModule } from 'ngx-gantt';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
GanttModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
<ngx-gantt [ganttOptions]="options" [tasks]="tasks"></ngx-gantt>
其中,tasks 是一个任务列表(数组),每个任务对象包含任务名、开始时间、结束时间、进度等属性;ganttOptions 是一个可选的配置对象,用于自定义甘特图的外观和行为,例如:设置语言、设置日期格式、设置样式风格等。
Github:https://github.com/worktile/ngx-gantt。
责任编辑:姜华 来源: 前端充电宝 甘特图前端(责任编辑:热点)
全球首个超高海拔光伏实证基地在四川甘孜投产 总投资约32亿元
【助企纾困解难 优化营商环境】四川省达州市达川区民营经济发展方兴未艾
达川区百节市场监管所:“春雷行动2023”向冻库暨猪肉市场挥“铁拳”
达川区百节市场监管所:“春雷行动2023”向冻库暨猪肉市场挥“铁拳”
国内首个横跨5A级城市湖泊公园隧道正式封顶 设计行车速度为50公里/时
连续10年进入世界500强 高标准打造国有企业改革“江西样板”