首页 前端知识 思维导图插件--jsMind的使用

思维导图插件--jsMind的使用

2024-07-29 00:07:07 前端知识 前端哥 936 236 我要收藏
1、下载jsMind
npm install jsMind --s
复制
2、在需要使用的页面 引入css样式和js方法
import "jsmind/style/jsmind.css";
import jsMind from "jsmind/js-legacy/jsmind.js";
复制
3、初始化jsMind
export default {
data() {
return {
mind: {
/* 元数据,定义思维导图的名称、作者、版本等信息 */
meta: {
name: "思维导图",
author: "",
version: "0.2",
},
/* 数据格式声明 */
format: "node_tree",
/* 数据内容 */
data: {
id: "root",
topic: "jsMind",
children: [
{
id: "easy", // [必选] ID, 所有节点的ID不应有重复,否则ID重复的结节将被忽略
topic: "Easy", // [必选] 节点上显示的内容
direction: "right", // [可选] 节点的方向,此数据仅在第一层节点上有效,目前仅支持 left 和 right 两种,默认为 right
// expanded: false, // [可选] 该节点是否是展开状态,默认为 true
children: [
{
id: "easy8",
topic: "Easy to show",
children: [
{ id: "open7", topic: "on GitHub" },
{ id: "easy7", topic: "Easy to embed" },
],
},
{ id: "easy2", topic: "Easy to edit" },
{ id: "easy3", topic: "Easy to store" },
{ id: "easy4", topic: "Easy to embed" },
],
},
{
id: "open",
topic: "Open Source",
direction: "right",
// expanded: false,
children: [
{ id: "open1", topic: "on GitHub" },
{ id: "open2", topic: "BSD License" },
],
},
{
id: "powerful",
topic: "Powerful",
direction: "right",
// expanded: false,
children: [
{ id: "powerful1", topic: "Base on Javascript" },
{ id: "powerful2", topic: "Base on HTML5" },
{ id: "powerful3", topic: "Depends on you" },
],
},
{
id: "other",
topic: "test node",
direction: "right",
// expanded: false,
children: [
{ id: "other1", topic: "I'm from local variable" },
{ id: "other2", topic: "I can do everything" },
],
},
],
},
},
options: {
container: "jsmind_container", // [必选] 容器的ID
editable: true, // [可选] 是否启用编辑
theme: "primary", // [可选] 主题
view: {
engine: "canvas", // 思维导图各节点之间线条的绘制引擎
hmargin: 20, // 思维导图距容器外框的最小水平距离
vmargin: 20, // 思维导图距容器外框的最小垂直距离
line_width: 2, // 思维导图线条的粗细
line_color: "#ddd", // 思维导图线条的颜色
hide_scrollbars_when_draggable: true,
},
layout: {
hspace: 100, // 节点之间的水平间距
vspace: 20, // 节点之间的垂直间距
pspace: 20, // 节点与连接线之间的水平间距(用于容纳节点收缩/展开控制器)
},
shortcut: {
enable: false, // 是否启用快捷键 默认为true
},
// editableDrag:true,
// get_selected_node:function(val){
// this.selectedNode=val
// }
},
jm: "",
selectedNode: "",
newNodeId: 1,
};
},
mounted() {
// 初始化
this.jm = new jsMind(this.options);
//渲染canvas
this.jm.show(this.mind);
},
};
复制
4、页面绑定dom
<div id="jsmind_container"></div>
复制
5、效果图

6、内置方法
获取节点

获取根节点this.jm.get_root()

根据 id 查找节点 : this.jm.get_node(nodeid)

获取选中的节点 : this.jm.get_selected_node()

查找相邻的上一个节点 : this.jm.find_node_before(node|nodeid) 

查找相邻的下一个节点 : this.jm.find_node_after(node|nodeid)

操作节点

选中节点 : this.jm.select_node(node)

收起子节点 : this.jm.collapse_node(node|nodeid)

展开子节点 : this.jm.expand_node(node|nodeid)

收起或展开子节点 :this.jm.toggle_node(node|nodeid) 方法可自动展开或收起子节点。

展开全部子节点 : this.jm.expand_all()

展开至指定层级 : this.jm.expand_to_depth(depth)

移动节点this.jm.move_node(node|nodeid,beforeid)

启用编辑 : this.jm.enable_edit()

禁止编辑 : this.jm.disable_edit()

调整节点为编辑状态 : this.jm.begin_edit(node|nodeid)

调整节点为只读状态 : this.jm.end_edit(node|nodeid)

加减节点

添加节点 : this.jm.add_node(parent_node, nodeid, topic, data)

在指定位置前插入节点 : this.jm.insert_node_before(node_before, nodeid, topic)

在指定位置后插入节点this.jm.insert_node_after(node_after, nodeid, topic)

删除节点及其子节点 : this.jm.remove_node(node|nodeid)

更新节点topic显示内容 : this.jm.update_node(nodeid, topic)

获取数据

获取元数据 :this.jm.get_meta()

获取指定格式的思维导图数据 : this.jm.get_data(data_format)

设置样式

设置主题this.jm.set_theme(theme)

设置背景色/前景色this.jm.set_node_color(nodeid, bgcolor, fgcolor)

设置字体this.jm.set_node_font_style(nodeid, size, weight, style)

设置背景图片this.jm.set_node_background_image(nodeid, image, width, height)

其他操作

清除节点的选中 : this.jm.select_clear()

判断节点是否可见this.jm.is_node_visible(node)

转载请注明出处或者链接地址:https://www.qianduange.cn//article/14488.html
标签
评论
还可以输入200
共0条数据,当前/页
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!