Webix 数据布局中的分层数据集

Hierarchical datasets in Webix datalayout

我正在评估 Webix 数据布局的结构并努力加载具有深层层次结构的数据。

如果我在数据布局中使用组列表,一切都会顺利进行,

webix.ui({
  view:"datalayout",  
  rows:[
    { name:"$value", type:"header", template:"#panel#" },      
    { name:"any", view:"grouplist", template:"#value#" },    
  ],
  data:[
    { panel:"1", any:tree_data },
    { panel:"2", any:cars_data }
  ]
});

但是当我尝试嵌入树时,默认的树模板丢失了。代码片段:

http://webix.com/snippet/8aa53125

对这种行为感到好奇。也许我错过了一些重要的事情?

分层组件在使用后会破坏原始数据集。因此,您只能将相同的数据对象提供给一个分层组件、树或组列表。

//this will work
 rows:[
    { name:"$value", type:"header", template:"#panel#" },      
    { name:"any", view:"tree" }
  ],

//this one will not work
 rows:[
    { name:"$value", type:"header", template:"#panel#" },      
    { name:"any", view:"tree" }
  ],

如果你真的需要让grouplist和tree都消费相同的数据,你可以在正常布局中创建它们并使用webix.copy在组件中加载数据,如下

 rows:[
    { view:"grouplist", id:"l1" },      
    { view:"tree", id:"t1" }
  ],
// and later

$$("l1").parse( webix.copy(data.any) );
$$("t1").parse( webix.copy(data.any) );