meraid的memo

首先安装mermaid和antd,即可复制下面代码在react中实现demo效果

import React from 'react'
import {Input} from 'antd'
import mermaid from "mermaid";
const {TextArea} =Input

export default function Mermaid() {
const [text,setText] = React.useState(`    
sequenceDiagram
    Alice->>John: Hello John, how are you?
    John-->>Alice: Great!
    Alice-)John: See you later!
`)

async function textChange (e){
   setText(e.target.value)
   const element = document.querySelector('#graphDiv');
    const { svg } = await mermaid.render('mermaid', e.target.value);
    element.innerHTML = svg
    console.log(svg);
    await mermaid.run();
};
  React.useEffect(()=>{
     mermaid.contentLoaded()
  },[])
  return (
    <div >
      <TextArea 
      autoSize
      value={text}
      onChange={textChange}/>
    <pre  className="mermaid" id="graphDiv" >
            {text}
    </pre>
    </div>
  );
}

效果展示:输入即可生产时序图

文档:https://mermaid.js.org/syntax/examples.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值