Skip to content

Repository files navigation

React MindFlow

基于 React 和 AntV G6 的思维导图组件。

特性

  • 🎨 支持自定义节点样式
  • 🌓 支持亮色/暗色主题
  • 📐 支持水平/垂直布局
  • 🖱️ 支持节点拖拽
  • 🔍 支持画布缩放
  • 📦 支持 TypeScript

安装

npm install react-mindflow
#
yarn add react-mindflow
#
pnpm add react-mindflow

使用

import{MindFlow}from'react-mindflow';constdata={id: 'root',label: '思维导图',children: [{id: '1',label: '子节点1',children: [{id: '1-1',label: '子节点1.1'},{id: '1-2',label: '子节点1.2'},],},{id: '2',label: '子节点2',},],};functionApp(){return(<MindFlowdata={data}width={800}height={600}theme="light"direction="H"onNodeClick={(node)=>console.log('点击节点:',node)}/>);}

API

MindFlow Props

属性说明类型默认值
data思维导图数据MindFlowNode-
width画布宽度number800
height画布高度number600
direction布局方向'H' | 'V''H'
theme主题'light' | 'dark''light'
nodePadding节点内边距number16
nodeSpacing同级节点间距number50
levelSpacing层级间距number100
onNodeClick节点点击事件(node: MindFlowNode) => void-
onNodeDoubleClick节点双击事件(node: MindFlowNode) => void-
onNodeContextMenu节点右键菜单事件(node: MindFlowNode, e: MouseEvent) => void-

MindFlowNode

interfaceMindFlowNode{id: string;label: string;children?: MindFlowNode[];style?: {fill?: string;stroke?: string;lineWidth?: number;[key: string]: any;};}

开发

# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
# 构建库文件
pnpm build
# 构建示例
pnpm build:example

License

MIT

About

A React mind map component built with AntV G6.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages