如何添加根节点

Posted

技术标签:

【中文标题】如何添加根节点【英文标题】:How do I add a Root Node 【发布时间】:2016-09-01 03:28:59 【问题描述】:

添加嵌套项很简单:配置只是一个RANGE_ADD

query 
  viewer 
    item 
      edges 
        node 
          subitem 
            edges 
              node 
                id,
                title
              
            
          
        
      
    
  

添加subitem 只需要一个RANGE_ADD,其parentId 等于item 的id。

但是,如何添加没有父级的item?我尝试使用没有 parentId 的 RANGE_ADD 配置,但没有成功。

我觉得这是一件如此简单的事情,但我似乎无法在文档中找到它。

【问题讨论】:

【参考方案1】:

item 确实有一个父级,即viewer。只是viewer 可以有一个item 而不是多个items,因为item 不是连接类型。因此,当您想添加另一个 item 时,您可以:

1) 替换/更新现有的item。在这种情况下通常使用 FIELDS_CHANGE。

2) 获取不需要放入客户端存储的item。在这种情况下,您可以使用REQUIRED_CHILDREN mutator 配置。在answer 中查看如何在另一个相关问题中使用它的一个很好的示例。

【讨论】:

第二个看起来和我需要的完全一样。我没有现有项目(创建一个新项目),所以我不能使用 FIELDS_CHANGE 如果您在viewer 下没有现有的item,并且您的突变创建了item,您应该更新viewer 并使用FIELDS_CHANGE。第二个不适合您的用例,因为它不会使用新创建的item 更新客户端存储。

以上是关于如何添加根节点的主要内容,如果未能解决你的问题,请参考以下文章

未显示根线时,TreeView 将 +- 号添加到根节点[重复]

如何在 json 根节点中添加键值对并使用 SQL Server 将其转换为表

如何改变treeview根节点字体的大小

将命名空间前缀添加到根节点

将节点添加到树 - 为啥根没有被初始化?

不能在“根”类型的节点中构造“属性”类型的项目