2

我正在评估 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

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

4

1 回答 1

4

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

//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) );
于 2016-04-27T09:49:33.493 回答