vue3使用vis绘制甘特图制作timeline可拖动时间轴及时间轴中文化(推荐)

yizhihongxing

下面我会详细讲解使用Vue3和vis库绘制甘特图制作timeline可拖动时间轴及时间轴中文化的攻略。

1. 安装vis库

vis库是一个用于数据可视化的JavaScript库,可以使用它创建各种类型的图表和视图。在Vue3项目中使用vis库,可以通过以下命令进行安装:

npm install vis

2. 创建Vue3组件

接下来创建一个Vue3组件,用于绘制甘特图和timeline可拖动时间轴,并将vis库引入到该组件中。

<template>
  <div>
    <div ref="gantt"></div>
    <div ref="timeline"></div>
  </div>
</template>

<script>
import vis from 'vis';

export default {
  name: 'GanttTimeline',
  mounted() {
    const container = this.$refs.gantt;
    const timelineContainer = this.$refs.timeline;

    const data = new vis.DataSet([
      { id: 1, content: 'Task 1', start: '2022-10-01', end: '2022-10-05' },
      { id: 2, content: 'Task 2', start: '2022-10-06', end: '2022-10-10' },
      { id: 3, content: 'Task 3', start: '2022-10-11', end: '2022-10-15' },
    ]);

    const options = {};

    new vis.Timeline(container, data, options);

    const timelineData = new vis.DataSet([
      { id: 1, content: 'Event 1', start: '2022-10-03', end: '2022-10-06' },
      { id: 2, content: 'Event 2', start: '2022-10-08', end: '2022-10-12' },
      { id: 3, content: 'Event 3', start: '2022-10-15', end: '2022-10-18' },
    ]);

    const timelineOptions = {};

    new vis.Timeline(timelineContainer, timelineData, timelineOptions);
  },
};
</script>

这个组件中包含了两个<div>元素,一个用于放置甘特图,一个用于放置timeline可拖动时间轴。在mounted()生命周期钩子函数中,使用vis.DataSet对象创建数据集,然后使用new vis.Timeline()方法创建甘特图和timeline可拖动时间轴。

3. 对时间轴中文化

为了将时间轴中的文本显示为中文,可以通过以下方式使用moment.js库对日期进行格式化:

<template>
  <div>
    <div ref="gantt"></div>
    <div ref="timeline"></div>
  </div>
</template>

<script>
import moment from 'moment';
import vis from 'vis';

export default {
  name: 'GanttTimeline',
  mounted() {
    const container = this.$refs.gantt;
    const timelineContainer = this.$refs.timeline;

    // 中文化moment.js
    moment.locale('zh-cn');

    const data = new vis.DataSet([
      { id: 1, content: 'Task 1', start: '2022-10-01', end: '2022-10-05' },
      { id: 2, content: 'Task 2', start: '2022-10-06', end: '2022-10-10' },
      { id: 3, content: 'Task 3', start: '2022-10-11', end: '2022-10-15' },
    ]);

    const options = {
      // 格式化时间轴上日期显示格式
      format: {
        minorLabels: {
          month: 'M月',
          day: 'D日',
          hour: 'h:mm A',
        },
        majorLabels: {
          month: 'YYYY年M月',
          day: 'YYYY年M月D日',
          hour: 'YYYY年M月D日 h:mm A',
        },
      },
    };

    new vis.Timeline(container, data, options);

    const timelineData = new vis.DataSet([
      { id: 1, content: 'Event 1', start: '2022-10-03', end: '2022-10-06' },
      { id: 2, content: 'Event 2', start: '2022-10-08', end: '2022-10-12' },
      { id: 3, content: 'Event 3', start: '2022-10-15', end: '2022-10-18' },
    ]);

    const timelineOptions = {
      // 格式化时间轴上日期显示格式
      format: {
        minorLabels: {
          month: 'M月',
          day: 'D日',
          hour: 'h:mm A',
        },
        majorLabels: {
          month: 'YYYY年M月',
          day: 'YYYY年M月D日',
          hour: 'YYYY年M月D日 h:mm A',
        },
      },
    };

    new vis.Timeline(timelineContainer, timelineData, timelineOptions);
  },
};
</script>

这里中文化了moment.js库,并在options.format中设置了时间轴上日期的显示格式。

至此,我们就完成了Vue3使用vis绘制甘特图制作timeline可拖动时间轴及时间轴中文化的攻略。在其中,我们使用了vis库绘制了甘特图和timeline可拖动时间轴,同时通过moment.js库将时间轴中的文本显示为中文。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue3使用vis绘制甘特图制作timeline可拖动时间轴及时间轴中文化(推荐) - Python技术站

(0)
上一篇 2023年5月29日
下一篇 2023年5月29日

相关文章

  • Vue中数组与对象修改触发页面更新的机制与原理解析

    让我来为您详细讲解Vue中数组与对象修改触发页面更新的机制与原理解析。 1. Vue中数组的更新机制及原理 在Vue中,要想让视图更新,必须通过数据绑定来实现。Vue中对于数组的变异方法也做了响应式处理,即通过Proxy或Object.defineProperty等技术实现了对数组元素进行监视,并在数组被改变时自动更新视图。 具体来说,当一个响应式数据被渲染…

    Vue 2023年5月27日
    00
  • Vue2 响应式系统之分支切换

    Vue2 响应式系统之分支切换 Vue2中的响应式系统非常强大,可以让我们非常容易地实现数据的双向绑定和互动。而分支切换则是Vue2响应式系统的一个重要特性,可以帮助我们实现更为丰富多彩的交互体验。 响应式系统简介 在了解分支切换特性之前,我们需要简单了解一下Vue2的响应式系统。Vue2的响应式系统基于ES5中的Object.defineProperty(…

    Vue 2023年5月27日
    00
  • 前端需知nodejs express中间件使用及定义详解

    前置知识 在学习本篇攻略之前,需要你对以下内容有一定的了解: Node.js基础概念 Node.js中间件原理及分类 Express基础概念和使用 什么是中间件 在Express中,一个请求从进入应用到返回响应的整个过程中,可以被看做是一系列的中间件函数依次执行的过程。其中的每一个中间件函数完全可以通过req,res, next这三个参数实现功能,同时以一个…

    Vue 2023年5月27日
    00
  • webpack+vue.js实现组件化详解

    Webpack和Vue.js是现代化的前端开发工具,结合使用可以实现组件化的开发,提高项目的可维护性和开发效率。下面是利用Webpack和Vue.js实现组件化开发的详细攻略。 1. 环境准备 首先,需要安装Webpack和Vue.js。可以使用npm命令进行安装: npm install webpack vue vue-loader vue-templat…

    Vue 2023年5月28日
    00
  • 解决vue单页面应用打包后相对路径、绝对路径相关问题

    解决Vue单页面应用打包后相对路径、绝对路径相关问题是一个常见的问题,这里提供一个完整攻略,以帮助开发者快速解决问题。 问题描述 在开发Vue单页面应用时,需要引入各种资源文件,如CSS样式文件、JS脚本文件、图片资源文件等等。这些文件在开发时,都是通过相对路径或绝对路径引入的。但是,在打包完成后,这些资源文件会被压缩和合并,导致相对路径或绝对路径失效,进而…

    Vue 2023年5月28日
    00
  • vue3中的伸缩菜单组件

    下面我将详细讲解“Vue3中的伸缩菜单组件”的完整攻略。 一、概述 伸缩菜单组件是一个常用的组件,它可以让用户在界面上添加一些操作面板,具体实现方式就是点击按钮后,菜单面板会出现或者隐藏。在Vue3中,我们可以使用自定义指令实现这种效果。 二、实现步骤 以下是实现伸缩菜单的具体步骤: 1. 创建Vue3应用 我们需要先创建一个Vue3应用,方法如下: vue…

    Vue 2023年5月28日
    00
  • vue项目中引入vue-datepicker插件的详解

    引入 vue-datepicker 插件,主要需要以下几个步骤: 1. 安装 vue-datepicker 插件 使用 npm 或 yarn 安装该插件: npm install vue-datepicker –save # 或 yarn add vue-datepicker 2. 在 main.js 中注册插件 在 main.js 文件中添加如下代码: …

    Vue 2023年5月29日
    00
  • 详解vue+axios给开发环境和生产环境配置不同的接口地址

    为了给开发环境和生产环境配置不同的接口地址,我们需要依赖于webpack。我们可以通过环境变量在编译时设置接口地址,从而在不同的环境中使用不同的接口地址。 1. 修改webpack的配置文件 在项目的根目录中找到名为vue.config.js的文件,如果不存在则通过vue-cli工具生成(vue create projectName)。在该文件中添加如下代码…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部