当前位置: 首页
前端开发
Vue甘特图vxe-gantt小时视图设置日期轴间隔3小时

Vue甘特图vxe-gantt小时视图设置日期轴间隔3小时

热心网友 时间:2026-07-18
转载

vxe-gantt小时视图通过scales配置,顶层日期刻度,底层小时刻度并指定step:3,每3小时显示一个刻度,实现短期任务紧凑排期,提升时间粒度精度,适合高精度小时级排期场景。

任务时间跨度一旦压缩到小时甚至分钟级别,默认的日视图或周视图就很难看清细节了。这时候,vxe-gantt 提供的小时视图(hour)配合 step 参数,就能让时间轴的密度变得恰到好处——短期任务的进度展示,紧凑又直观。

核心配置

关键在于 taskViewConfig.scales 的两层配置:顶层用 date 显示日期,底层用 hour 并指定 step: 3,时间轴就会每隔3小时显示一个刻度。举个例子:

 复制代码taskViewConfig: {
  scales: [
    { type: 'date' },        // 顶层:以天为单位
    { type: 'hour', step: 3 } // 底层:每3小时一个刻度
  ]
}

代码

 复制代码<template>
  <div>
    <vxe-gantt v-bind="ganttOptions">vxe-gantt>
  div>
template><script setup>
import { reactive } from 'vue'const ganttOptions = reactive({
  showOverflow: true,
  cellConfig: {
    height: 80
  },
  taskBarConfig: {
    showProgress: true,
    showContent: true,
    barStyle: {
      round: true,
      bgColor: '#f56565',
      completedBgColor: '#65c16f'
    }
  },
  taskViewConfig: {
    scales: [{ type: 'date' }, { type: 'hour', step: 3 }],
    tableStyle: {
      width: 320
    }
  },
  columns: [
    { type: 'seq', field: 'seq', width: 70 },
    { field: 'title', title: '任务名称', minWidth: 140 },
    { field: 'start', title: '开始时间', width: 160 },
    { field: 'end', title: '结束时间', width: 160 }
  ],
  data: [
    { id: 10001, title: '任务R790', start: '2024-03-01 08:30:20', end: '2024-03-01 09:30:30', progress: 100 },
    { id: 10002, title: '任务C30456572349', start: '2024-03-01 00:00:00', end: '2024-03-01 00:00:00', progress: 100 },
    { id: 10003, title: '任务E563', start: '2024-03-01 01:00:00', end: '2024-03-01 01:05:0', progress: 90 },
    { id: 10004, title: '任务P687', start: '2024-03-01 01:20:00', end: '2024-03-01 08:50:00', progress: 80 }
  ]
})
script>

配置说明

配置项说明
scales 第一层{ type: 'date' }顶层以天为刻度单位,显示日期(如 2024-03-01)
scales 第二层{ type: 'hour', step: 3 }底层以小时为单位,每 3 小时显示一个刻度
taskConfig.dateFormat不设置默认解析到秒,精确匹配数据中的时间格式
  • 效果:时间轴上会显示 00:00、03:00、06:00、09:00... 等刻度,任务条根据实际起止时间在单元格内精确定位。

调整更精细的间隔

如果需要更大的间隔(如每 4 小时或 6 小时),只需修改 step 值:

 复制代码// 每4小时间隔
{ type: 'hour', step: 4 }// 每6小时间隔
{ type: 'hour', step: 6 }

通过 scales 中的 step 参数,可以轻松控制小时视图的日期轴密度。对于需要按 3 小时间隔展示任务的场景,只需配置 { type: 'hour', step: 3 } 即可。结合 date 顶层,既能宏观看到日期分布,又能微观观察小时级别的任务细节,非常适合短期密集任务的排期展示。

来源:https://juejin.cn/post/7660367762293522475

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
深入JavaScript中的DOM操作与浏览器执行优化方法详解

深入JavaScript中的DOM操作与浏览器执行优化方法详解

DOM操作性能瓶颈源于触发的重排与重绘。优化核心是减少触发次数、合并操作、避开同步布局。通过缓存查询、批量修改、使用文档片段、切换class名、避免强制同步布局及事件委托等技巧,可有效提升浏览器执行效率。

时间:2026-07-18 20:19
Vue框架组件化设计中的高内聚低耦合实践指南

Vue框架组件化设计中的高内聚低耦合实践指南

Vue js组件化设计遵循高内聚低耦合原则,组件内部职责单一,通过props和emits建立明确契约通信。按职责分层:页面组件管理路由与布局,业务组件封装数据与交互,基础组件提供通用UI。拆分粒度以复用性和心智负担为尺度,避免过细或过粗,从而提升可维护性与开发效率。

时间:2026-07-18 20:18
JavaScript高精度数字比较方法

JavaScript高精度数字比较方法

JavaScript浮点精度导致数字比较陷阱,如0 1+0 2≠0 3。可借助容差比较(如Number EPSILON)、decimal js库任意精度比较或整数化处理(如金额按分计)来规避误差,确保比较准确。

时间:2026-07-18 20:18
JavaScript字符串matchAll方法返回迭代器使用详解与实战案例

JavaScript字符串matchAll方法返回迭代器使用详解与实战案例

matchAll返回迭代器而非数组,需通过展开运算符或for of遍历。相比match,它能保留捕获组、匹配位置和原始字符串,但正则必须带g标志,且迭代器只能遍历一次。该方法是ES2020新特性,用于全局匹配时获取所有详细信息,需注意手动转为数组使用。

时间:2026-07-18 20:18
如何用原生JS事件委托为动态卡片绑定翻转功能

如何用原生JS事件委托为动态卡片绑定翻转功能

通过事件委托将监听器挂载到静态父容器,解决动态生成卡片的事件监听失效问题。同时修正HTML中id重复及选择器全局查找的缺陷,确保每张卡片独立翻转,实现可扩展的交互逻辑。

时间:2026-07-18 20:18
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜