精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

甘特圖、流程圖、ER 圖,咋做呀......

開發(fā) 前端
很多同學(xué)在日常工作中,經(jīng)常會(huì)遇到很多復(fù)雜圖表的構(gòu)建,比如:甘特圖、流程圖、ER 圖?等等。每次遇到這種圖表,都會(huì)有很多同學(xué)來(lái)問我:“Sunday 老師,這種圖咋做?那種圖咋樣?

Hello,大家好,我是 Sunday。

很多同學(xué)在日常工作中,經(jīng)常會(huì)遇到很多復(fù)雜圖表的構(gòu)建,比如:甘特圖、流程圖、ER 圖 等等。

每次遇到這種圖表,都會(huì)有很多同學(xué)來(lái)問我:“Sunday 老師,這種圖咋做?那種圖咋樣???”

所以說(shuō),今天咱們就來(lái)看一個(gè)專門用來(lái)做這種復(fù)雜圖表庫(kù)的 mermaid.js,以后再有同學(xué)來(lái)問我復(fù)雜圖表的繪制方式,我就讓他看這篇文章??(開個(gè)玩笑,還是得幫大家 1v1 溝通的ψ(`?′)ψ)

什么是 mermaid.js

Mermaid.js 是一個(gè)基于 JavaScript 的可視化工具庫(kù),它可以通過簡(jiǎn)單的 Markdown 風(fēng)格語(yǔ)法生成多種類型的圖示,包括但不限于:

  • 流程圖(Flowchart)
  • 時(shí)序圖(Sequence Diagram)
  • 甘特圖(Gantt Chart)
  • ER 圖(Entity Relationship Diagram)
  • 類圖(Class Diagram)
  • 狀態(tài)圖(State Diagram)
  • 用戶旅程圖(User Journey Diagram)

這意味著,Mermaid.js 可以將復(fù)雜的圖示生成工作簡(jiǎn)化為編寫代碼的過程,目前 Mermaid.js 已經(jīng)有了 81.6k 的 star

圖片

圖表繪制的方式

Mermaid.js 通過 md 文檔生成圖表,即:不需要代碼,只需要配置 MD 文檔即可

接下來(lái)我們來(lái)看幾個(gè)利用 Mermaid.js 進(jìn)行圖表繪制的演示

流程圖

graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;

通過以上 md 文檔,可以直接生成如下流程圖

圖片圖片

序列圖

sequenceDiagram
    participant Alice
    participant Bob
    Alice->>John: Hello John, how are you?
    loop HealthCheck
        John->>John: Fight against hypochondria
    end
    Note right of John: Rational thoughts <br/>prevail!
    John-->>Alice: Great!
    John->>Bob: How about you?
    Bob-->>John: Jolly good!

圖片圖片

甘特圖

gantt
dateFormat  YYYY-MM-DD
title Adding GANTT diagram to mermaid
excludes weekdays 2014-01-10

section A section
Completed task            :done,    des1, 2014-01-06,2014-01-08
Active task               :active,  des2, 2014-01-09, 3d
Future task               :         des3, after des2, 5d
Future task2               :         des4, after des3, 5d

圖片

類圖

classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label

圖片圖片

Git 圖

gitGraph
       commit
       commit
       branch develop
       commit
       commit
       commit
       checkout main
       commit
       commit

圖片圖片

實(shí)體關(guān)系圖

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE-ITEM : contains
    CUSTOMER }|..|{ DELIVERY-ADDRESS : uses

圖片圖片

用戶旅程圖

journey
    title My working day
    section Go to work
      Make tea: 5: Me
      Go upstairs: 3: Me
      Do work: 1: Me, Cat
    section Go home
      Go downstairs: 5: Me
      Sit down: 5: Me

圖片圖片

基于 Vue 或者 React 使用 Mermaid.js

在實(shí)際開發(fā)中,我們經(jīng)常會(huì)配合 Vue 或者 React 完成項(xiàng)目開發(fā)。所以,接下來(lái)咱們就看那看 Mermaid.js 如何與這些框架配合使用

1. 在 Vue 中動(dòng)態(tài)生成 Mermaid 圖表

  • 安裝 Mermaid.js
npm install mermaid
  • 創(chuàng)建一個(gè)自定義組件
<template>
  <div class="mermaid" ref="mermaidChart"></div>
</template>

<script>
import mermaid from "mermaid";

export default {
  props: {
    chartDefinition: {
      type: String,
      required: true,
    },
  },
  mounted() {
    this.renderMermaid();
  },
  watch: {
    chartDefinition() {
      this.renderMermaid();
    },
  },
  methods: {
    renderMermaid() {
      if (this.chartDefinition) {
        mermaid.initialize({ startOnLoad: false });
        this.$refs.mermaidChart.innerHTML = this.chartDefinition;
        mermaid.contentLoaded();
      }
    },
  },
};
</script>

<style>
.mermaid {
  overflow: auto;
}
</style>
  • 在父組件中使用
<template>
 <div>
   <MermaidChart :chartDefinition="chartData" />
   <button @click="updateChart">更新圖表</button>
 </div>
</template>

<script>
import MermaidChart from "./components/MermaidChart.vue";

export default {
 components: { MermaidChart },
 data() {
   return {
     chartData: `
       graph TD
         A[開始] --> B{是否完成任務(wù)?}
         B -->|是| C[結(jié)束]
         B -->|否| D[繼續(xù)努力]
     `,
   };
 },
 methods: {
   updateChart() {
     this.chartData = `
       graph TD
         X[更新開始] --> Y{完成了嗎?}
         Y -->|是| Z[更新結(jié)束]
         Y -->|否| W[繼續(xù)調(diào)整]
     `;
   },
 },
};
</script>

2. 在 React 中動(dòng)態(tài)生成 Mermaid 圖表

  • 安裝 Mermaid.js
npm install mermaid
  • 創(chuàng)建一個(gè) Mermaid 組件
import React, { useEffect, useRef } from "react";
import mermaid from "mermaid";

const MermaidChart = ({ chartDefinition }) => {
 const chartRef = useRef();

 useEffect(() => {
   mermaid.initialize({ startOnLoad: false });
   if (chartDefinition) {
     chartRef.current.innerHTML = chartDefinition;
     mermaid.contentLoaded();
   }
 }, [chartDefinition]);

 return <div className="mermaid" ref={chartRef}></div>;
};

export default MermaidChart;
  • 在父組件中使用
import React, { useState } from "react";
import MermaidChart from "./components/MermaidChart";

const App = () => {
 const [chartData, setChartData] = useState(`
   graph TD
     A[開始] --> B{是否完成任務(wù)?}
     B -->|是| C[結(jié)束]
     B -->|否| D[繼續(xù)努力]
 `);

 const updateChart = () => {
   setChartData(`
     graph TD
       X[更新開始] --> Y{完成了嗎?}
       Y -->|是| Z[更新結(jié)束]
       Y -->|否| W[繼續(xù)調(diào)整]
   `);
 };

 return (
   <div>
     <MermaidChart chartDefinition={chartData} />
     <button onClick={updateChart}>更新圖表</button>
   </div>
 );
};

export default App;

使用思路

根據(jù)如上代碼所示,我們可以知道,想要在 Vue 或者 React 項(xiàng)目中使用 Mermaid,那么可以直接分為兩步:

  1. 將 Mermaid 圖表封裝成可復(fù)用的組件,接受 chartDefinition(圖表定義字符串)作為屬性。
  2. 通過監(jiān)聽 chartDefinition 的變化,重新渲染圖表。
責(zé)任編輯:武曉燕 來(lái)源: 程序員Sunday
相關(guān)推薦

2020-07-28 21:38:24

跨職能流程圖

2023-08-23 19:21:38

流程圖時(shí)序圖UML

2009-06-04 15:51:46

Struts流程圖

2020-07-28 21:42:23

程序流程圖

2020-07-28 21:44:23

工藝流程圖

2010-07-05 17:44:31

ER圖與UML圖

2010-03-24 15:36:18

2024-08-16 18:48:45

2009-11-09 13:23:35

WCF協(xié)定

2012-01-05 11:08:37

CISCO路由器啟動(dòng)流程

2019-08-16 11:16:25

Java程序員流程圖

2012-06-07 09:48:12

開發(fā)流程圖

2009-06-25 16:36:31

JBPM流程圖

2020-07-28 21:39:54

生產(chǎn)流程圖

2017-03-03 15:04:19

2009-11-04 12:02:17

程序員職業(yè)發(fā)展

2011-12-13 20:12:22

iOS

2010-07-05 13:21:36

用Visio畫UML流

2019-08-05 09:45:59

數(shù)據(jù)庫(kù)MySQLSQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

麻豆精品网站| 日本免费精品| 中文字幕乱码日本亚洲一区二区| 国产精品日韩一区| 五月婷婷综合激情网| 中文成人在线| 午夜精品一区在线观看| 日韩免费一区二区三区| 精品黑人一区二区三区在线观看| 国产一级久久| 久久久精品在线| 欧类av怡春院| 欧美成a人片免费观看久久五月天| 亚洲黄色免费网站| 欧美一区二区三区四区在线观看地址 | 日本一区二区三区久久久久久久久不| 成人有码在线视频| 久久久精品视频网站| 羞羞答答成人影院www| 亚洲国产精品小视频| 午夜免费高清视频| 黄色在线网站噜噜噜| 国产精品国产自产拍高清av王其 | 欧洲美女7788成人免费视频| 国产免费嫩草影院| 午夜精品影视国产一区在线麻豆| 欧美一区二视频| 凹凸日日摸日日碰夜夜爽1| 伊人222成人综合网| 国产欧美日韩另类一区| 国产一区二区在线观看免费播放| 国产又粗又猛又爽又黄的| 亚洲女人av| 欧美激情18p| 美国黄色小视频| 日韩国产一区二区三区| 精品偷拍一区二区三区在线看| 色网站在线视频| 在线一区视频观看| 懂色av中文一区二区三区天美| 欧美极品少妇无套实战| 日本中文字幕伦在线观看| 久久久青草青青国产亚洲免观| 懂色中文一区二区三区在线视频| 国产精品久久久久久69| 青青青伊人色综合久久| 日韩av电影在线网| 青草视频在线观看免费| 99热免费精品| 午夜免费日韩视频| 精品视频久久久久| 欧美精品偷拍| 欧美成人精品一区二区三区| 国产日产精品一区二区三区的介绍| 国产欧美日韩精品一区二区三区| 国产视频精品免费播放| 黄色性生活一级片| 日本成人a网站| 精品视频久久久| 99久久久无码国产精品性 | 亚洲欧美精品| 婷婷成人激情| 亚洲免费观看高清完整版在线| 黄瓜视频免费观看在线观看www| 午夜免费视频在线国产| 国产精品色一区二区三区| 亚洲三区四区| 成人短视频在线观看| 亚洲精品中文在线影院| bt天堂新版中文在线地址| 后进极品白嫩翘臀在线播放| 亚洲成精国产精品女| 国产男女在线观看| 亚洲精品在线影院| 欧美喷水一区二区| 国产一级二级av| 国产精品调教视频| 亚洲欧美制服第一页| 日本高清黄色片| 91精品一区二区三区综合| 色综合久久久久久中文网| 亚洲精品www久久久久久| 午夜在线播放视频欧美| 国产精品人成电影| 国产xxxx孕妇| 久久伊人蜜桃av一区二区| 色噜噜狠狠一区二区三区| 黄色网在线免费看| 香蕉成人啪国产精品视频综合网| 无码人妻h动漫| 男女啪啪999亚洲精品| 精品国产区一区| 国产全是老熟女太爽了| 亚洲一区在线| 97成人超碰免| 91激情在线观看| 成人av在线网站| 午夜精品福利一区二区| 伦理在线一区| 欧美一a一片一级一片| 91精产国品一二三| 国模吧精品视频| 欧美老妇交乱视频| 天天干天天色综合| 国产凹凸在线观看一区二区| 欧美一级爽aaaaa大片| av在线app| 欧美在线制服丝袜| 国产原创剧情av| 久久资源中文字幕| 欧美一区第一页| 国产av一区二区三区精品| 久久久久久亚洲综合影院红桃| 男插女免费视频| 性欧美18一19sex性欧美| 日韩免费高清视频| av片在线免费看| 免播放器亚洲| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 亚洲免费观看高清完整版在线观看熊| 欧美三级午夜理伦三级| 91国内精品白嫩初高生| 日韩在线免费视频观看| 欧产日产国产69| 波多野结衣中文字幕一区 | 亚洲丝袜精品| 欧美视频三区在线播放| 30一40一50老女人毛片| 亚洲激情一区| 5566av亚洲| 精品欧美色视频网站在线观看| 日本高清不卡视频| 日韩aaaaa| 国产一在线精品一区在线观看| 国产专区精品视频| 欧美挠脚心网站| 欧美日韩亚洲一区二区三区| 91九色蝌蚪porny| 欧美体内she精视频在线观看| 成人字幕网zmw| 色网站免费在线观看| 欧美性欧美巨大黑白大战| 久久婷婷五月综合| 视频在线在亚洲| 欧洲精品久久| av在线不卡精品| 中文字幕欧美日韩| 中文字幕永久在线视频| 国产精品美女一区二区在线观看| 国产免费视频传媒| 国产精品免费99久久久| 国产91免费观看| 国产高清在线看| 欧美在线一区二区| 久久精品—区二区三区舞蹈| 久热re这里精品视频在线6| 麻豆视频成人| 亚洲免费福利| 一本色道久久88综合亚洲精品ⅰ| 欧美日韩 一区二区三区| 日本一区二区三级电影在线观看 | 日本综合视频| 深夜福利国产精品| 国产精品乱码久久久| 亚洲欧美日韩系列| 成人做爰www看视频软件| 亚洲经典三级| 深夜福利成人| 国产精品igao视频网网址不卡日韩| 欧美乱人伦中文字幕在线| 丰满少妇一级片| 日韩欧美综合在线视频| 娇妻被老王脔到高潮失禁视频| 美女视频黄 久久| 黄色网址在线免费看| 国产精品99久久免费观看| 91po在线观看91精品国产性色 | 成人看片爽爽爽| 欧美一区二三区| 国产三级在线观看| 3atv一区二区三区| 日韩欧美亚洲一区二区三区| 国产视频一区二区在线| 182午夜视频| 亚洲黄页一区| 亚洲一区影院| 精品欧美午夜寂寞影院| 国产成人鲁鲁免费视频a| 黄视频网站在线看| 亚洲黄色在线看| 五月激情丁香网| 亚洲综合精品自拍| 免费网站在线高清观看| 国产精品影音先锋| 久久精品网站视频| 欧美三级在线| 日韩在线国产| 国产精品男女| 91精品视频在线免费观看| 黄毛片在线观看| zzjj国产精品一区二区| 无码国产色欲xxxx视频| 欧美日韩成人在线| 国产无遮挡呻吟娇喘视频| 国产精品伦一区| 51调教丨国产调教视频| 精品无码三级在线观看视频 | 国产经典三级在线| 在线观看视频亚洲| 神马午夜电影一区二区三区在线观看| 91成人网在线| 日本高清www免费视频| 亚洲色图视频免费播放| 中国美女乱淫免费看视频| 国产剧情av麻豆香蕉精品| 久久精品一区二| 欧美日韩免费| 亚洲成人自拍视频| 女人抽搐喷水高潮国产精品| 亚洲在线一区二区| 福利一区视频| 国产999精品久久久| www欧美xxxx| 精品自拍视频在线观看| 日本激情视频在线观看| 亚洲男人的天堂在线播放| 亚洲精品久久久狠狠狠爱 | 日韩有码电影| 精品播放一区二区| 国产精品久久久久久久久久久久久久久久| 精品国产精品三级精品av网址| 岛国毛片在线观看| 1区2区3区精品视频| 黄大色黄女片18免费| 久久综合九色综合久久久精品综合| 成熟妇人a片免费看网站| 国产精品一区二区在线观看不卡| 蜜臀一区二区三区精品免费视频| 三级在线观看一区二区| av动漫在线观看| 国产欧美日韩一级| 日韩精品 欧美| 亚洲美女网站| 国产资源在线视频| 国产一区二区三区的电影| 国产一级爱c视频| 亚洲精品四区| 久久网站免费视频| 亚洲欧美日本国产专区一区| 99精品人妻少妇一区二区| 在线亚洲观看| 无码aⅴ精品一区二区三区浪潮| 亚洲美女少妇无套啪啪呻吟| 欧美视频在线播放一区| 国产一区二区高清| 韩国一区二区av| 蜜臀av性久久久久蜜臀av麻豆| 手机看片福利日韩| 看电视剧不卡顿的网站| 日韩va在线观看| 国产成人精品aa毛片| 中文字幕乱码在线| 久久精品亚洲精品国产欧美| 国产一区二区三区四区在线| 一区视频在线播放| 久久精品国产亚洲av高清色欲| 性做久久久久久| 337p粉嫩色噜噜噜大肥臀| 欧美日韩视频在线观看一区二区三区| 91黄色在线视频| 亚洲成人av片| 欧洲毛片在线| 日韩中文娱乐网| www.综合网.com| 日本sm极度另类视频| 五月天色综合| 国产精品手机视频| 国产精品一区二区99| 亚洲第一精品区| 亚洲精品社区| 亚洲免费一级视频| 国产精品88888| 国产美女喷水视频| 国产精品高潮呻吟| 黄色一级免费视频| 欧美色欧美亚洲高清在线视频| 在线观看免费中文字幕| 欧美大片在线观看一区| 国产亚洲依依| 欧美激情欧美狂野欧美精品| 三级成人在线| 亚洲最大的av网站| 国产aⅴ精品一区二区三区久久| 小说区视频区图片区| 国产精品日韩精品欧美精品| 日韩在线一区视频| 99久久精品免费看国产免费软件| 亚洲一级片在线播放| 亚洲国产一区在线观看| 自拍偷拍第八页| 精品久久久久久久久久久久久久久 | 日韩欧乱色一区二区三区在线| 国产在线欧美日韩| 四虎8848精品成人免费网站| 欧美亚洲一二三区| 国产乱一区二区| 国产真实乱人偷精品人妻| 一区二区三区美女| 中文字幕第三页| 精品偷拍各种wc美女嘘嘘| gogo在线观看| 国产精品免费一区二区三区都可以| gogo人体一区| 椎名由奈jux491在线播放| 巨乳诱惑日韩免费av| 国产人妻黑人一区二区三区| 亚洲日本在线看| 波多野结衣一本一道| 精品国产凹凸成av人网站| 永久免费av在线| 日韩美女主播视频| 欧美a大片欧美片| 女人色极品影院| 国产自产视频一区二区三区| 丁香花五月婷婷| 欧美日韩中文字幕在线| 欧美性受xxxx狂喷水| 欧美福利在线观看| 国产精品一级在线观看| 中国人体摄影一区二区三区| 蜜桃免费网站一区二区三区| 久久中文字幕人妻| 欧美日韩亚洲一区二| 五月婷婷在线观看视频| 欧美极品少妇xxxxⅹ裸体艺术| 91精品国产自产观看在线 | 免费在线看黄色| 国产精品视频免费观看www| 久久99久久人婷婷精品综合| 1024av视频| 91美女片黄在线观看91美女| 国产在线视频一区| 欧美性理论片在线观看片免费| 欧美激情日韩图片| 成人黄色在线观看| 老司机凹凸av亚洲导航| 91网站在线观看免费| 国产伦精品一区二区三区免费迷| 女教师淫辱の教室蜜臀av软件| 欧美午夜片在线观看| av在线免费观看网| 国产精品久久久久久久久久| 国产亚洲一卡2卡3卡4卡新区| 丰满少妇被猛烈进入高清播放| 91丨porny丨蝌蚪视频| 九一国产在线观看| 日韩精品在线影院| 欧美三区四区| 亚洲精品日韩精品| 极品少妇一区二区三区精品视频 | 日韩视频免费在线播放| 久久久综合网站| 精人妻无码一区二区三区| 国产一区二区成人| 欧美视频免费看| 日本一二三区视频在线| 成人性视频免费网站| 久久高清免费视频| 亚洲欧美一区二区三区久久| 亚洲成av在线| www.-级毛片线天内射视视| 国产寡妇亲子伦一区二区| jizz国产免费| 亚洲色图15p| 精品视频成人| 国产精品自拍片| 亚洲国产成人在线| 国产av精国产传媒| 欧美中文字幕视频| 91视频综合| 国产 xxxx| 欧美在线啊v一区| 欧美wwww| 欧美日韩国产免费一区二区三区 | 亚洲free性xxxx护士hd| 1024日韩| 呻吟揉丰满对白91乃国产区| 日韩精品一区二区三区在线 | 亚洲午夜视频| 白白色免费视频| 日韩精品一区二区三区在线播放 | 精品成人无码一区二区三区| 这里是久久伊人| 国产免费不卡| 日韩中文字幕亚洲精品欧美| 91免费版在线| a级片免费观看| 国产精品久久久久久av| 国产精品地址| 欧美88888|