Mind map VUE component

Mind map VUE component

A mind map Vue component inspired by MindNode , based on d3.js. The

currently implemented functions include basic editing, dragging, zooming, undo, context menu, folding…

Online demo: https://mindnode.5xin.xyz/

Recent update

  • Left click to select multiple


npm install @ hellowuxin / mindmap


Name Type Default Description
v-model Array undefined 设置思维导图数据
width Number 100% 设置组件宽度
height Number undefined 设置组件高度
xSpacing Number 80 设置节点横向间隔
ySpacing Number 20 设置节点纵向间隔
strokeWidth Number 4 设置连线的宽度
draggable Boolean true 设置节点是否可拖拽
gps Boolean true 是否显示居中按钮
fitView Boolean true 是否显示缩放按钮
showNodeAdd Boolean true 是否显示添加节点按钮
keyboard Boolean true 是否响应键盘事件
contextMenu Boolean true 是否响应右键菜单
zoomable Boolean true 是否可缩放、拖移
showUndo Boolean true 是否显示撤销重做按钮
download Boolean true 是否显示下载按钮


Name arguments Description
updateNodeName data, id 更新节点名称时,传入节点数据和节点id
click data, id 点击节点时,传入节点数据和节点id


  <mindmap v-model="data"></mindmap>

import mindmap from '@hellowuxin/mindmap'

export default {
  components: { mindmap },
  data: () => ({
    data: [{
      "children": [
          "children": [
            { "name":"HTML & CSS" },
            { "name":"JavaScript" },
          "_children": [
            { "name": "折叠节点" }
          "left": true

Keyboard events

⇥ tab、⏎ enter、⌫ backspace、⌘ cmd+z、⌘ cmd+y

Interaction logic

Mouse : space+left button to move, right-click menu, ctrl+wheel to zoom, left button to select

Trackpad : two-finger scrolling, two-finger menu, two-finger pinch zoom, single-finger selection

to be solved

  • Export multiple formats
  • Set the width and height of the node
  • Multiple root nodes

Download Details:

Author: hellowuxin

Demo: https://mindnode.5xin.xyz/

Source Code: https://github.com/hellowuxin/mindmap

#vuejs #javascript #vue-js #vue

Mind map VUE component
11.40 GEEK