欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 使用 TypeScript + dhtmlx-gantt 在 Next.js 中实现

使用 TypeScript + dhtmlx-gantt 在 Next.js 中实现

2025/7/3 12:51:56 来源:https://blog.csdn.net/solocao/article/details/147984008  浏览:    关键词:使用 TypeScript + dhtmlx-gantt 在 Next.js 中实现

1. 安装依赖(确保已安装)

npm install dhtmlx-gantt

2. 创建 pages/gantt.tsx

'use client'import { useRef, useEffect } from 'react'
import { gantt } from 'dhtmlx-gantt'
import 'dhtmlx-gantt/codebase/dhtmlxgantt.css'interface Task {id: number | stringtext?: stringstart_date: string | Dateduration: numberprogress: numberowner?: stringpriority?: stringparent?: number | string
}export function ProjectGantt() {const ganttContainerRef = useRef<HTMLDivElement | null>(null)useEffect(() => {if (gantt && ganttContainerRef.current) {// 配置(可选)gantt.config.readonly = false// 初始化容器gantt.init(ganttContainerRef.current)// 定义数据const tasks: Task[] = [{id: 1,text: '项目启动',start_date: '2025-05-20',duration: 3,progress: 0.4,},{id: 2,text: '需求调研',start_date: '2025-05-23',duration: 5,progress: 0.2,parent: 1,},{id: 3,text: 'UI设计',start_date: '2025-05-25',duration: 4,progress: 0.1,parent: 1,},]// 载入数据gantt.parse({ data: tasks })}// 清理return () => {if (gantt) {gantt.clearAll()}}}, [])return (<div style={{ padding: '20px' }}><h2>Gantt 任务视图(TypeScript版)</h2><div id="gantt_here" ref={ganttContainerRef} style={{ width: '100%', height: '600px' }}></div></div>)
}

效果图如下
在这里插入图片描述

小结

  • 用 import { gantt } from ‘dhtmlx-gantt’
  • 定义一个 Task TypeScript 接口
  • 让 ref 指向容器元素
  • 在 useEffect 中初始化、载入数据、处理清理

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词