繁体   English   中英

tree-model-js如何获取先前的节点ID

[英]tree-model-js how to get previous node id

我想从树中知道先前访问的节点。 尝试下面的例子

var TreeModel = require('tree-model');
tree = new TreeModel();

rootMain = tree.parse({
    id: 1,
    children: [
        {
            id: "11",
            children: [{id: "111"}]
        },
        {
            id: "12",
            children: [{id: "121"}, {id: "122"}]
        },
        {
            id: "13"
        }
    ]
});

如果假设我遍历节点121和122我想要父节点,那么它应该返回我12如果假设我遍历节点111我想要父节点,那么它应该返回我11如果假设我遍历节点13我想要父节点,那么它应该返回1

在遍历树时,您可以使用node.parent获得当前节点的父级。

rootMain.walk(node => {
  console.log('node id:', node.model.id);

  if(node.parent) {
    console.log('parent node id:', node.parent.model.id);
  }
});

这将记录所需的父ID

var parent_id;

rootMain.walk(function (node) {

    var current_id = node.model.id;
    if (node.model.id === 121) 
        console.log(parent_id);
        return true;
    parent_id = current_id;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM