jsMind

节点是如何布局的

在使用 jsMind 构建思维导图时,一级子节点可以分布在根节点的左侧或右侧,其它层级的节点的位置都由其父节点决定。一级子节点的具体摆放分以下两种情况。

初始数据里节点

在构建思维导图的初始数据时,可以通过 direction 字段来指定一级节点相对于根节点的位置。direction 字段的取值有:

如果未指定 direction 字段,此一级节点将位于根节点的右侧。

示例代码

<div id="jsmind_container"></div>
<script>
    var mind_data = {
        "meta": {
            "name": "example",
            "author": "jsMind",
            "version": "0.2"
        },
        "format": "node_tree",
        "data": {
            "id": "root",
            "topic": "Root",
            "children": [
                { "id": "sub1", "topic": "Sub1", "direction": "left" }, // 设置子节点在左侧
                { "id": "sub2", "topic": "Sub2" }  // 未指定方向,默认在右侧
            ]
        }
    };

    var options = {
        container: 'jsmind_container',
        editable: true,
        theme: 'primary',
        mode: 'full', // 设置布局模式为 full
    };
    var mind = new jsMind(options);
    mind.show(mind_data);
</script>

通过 API 添加的节点

在使用 add_node 方法动态添加一级子节点时,可以通过 direction 参数来指定其位置。direction 参数的取值同样可以是 leftright

若未指定 direction 参数,节点的位置将由 mode 选项决定。mode 选项有两个取值:

示例代码

<div id="jsmind_container"></div>
<script>
    var options = {
        container: 'jsmind_container',
        editable: true,
        theme: 'primary',
        mode: 'full', // 设置布局模式为 full
    };
    var mind = new jsMind(options);
    mind.show();

    // 新增节点时指定方向
    mind.add_node('root', 'sub1', 'Sub1', {}, 'left'); // 新节点在左侧
    mind.add_node('root', 'sub2', 'Sub2'); // 未指定方向,默认根据 mode 参数决定
</script>

版权声明

禁止转载、禁止演绎。

jsMind 项目仍在不断升级变化,版本更新时会同时更新对应的文档。为避免给使用者带来困惑,在没有得到书面许可前,禁止转载本文档,同时禁止对本文档进行任何形式的更改。