我们如何在道场 TreeGrid 中设置子级?

Posted

技术标签:

【中文标题】我们如何在道场 TreeGrid 中设置子级?【英文标题】:How can we set children in dojo TreeGrid? 【发布时间】:2016-04-04 16:03:59 【问题描述】:

当我使用LazyTreeGrid时,我遇到了一个小问题; 我有这样的文件 JSON:

id: 'AF', name:'Africa',description:"",
id: 'EG', name:'Egypt',description:"",
id: 'KE', name:'Kenya',description:
 
  compents: 
   [
    id: 'Nairobi', name:'Nairobi', type:'city',
    id: 'Mombasa', name:'Mombasa', type:'city'
   ]     
 

我不知道如何在ForestStoreModel 中设置孩子,也许像childrenAttrs:['description.compents'] 一样(不幸的是,它不起作用......)?

【问题讨论】:

【参考方案1】:

我找到了一个解决方案,我们可以像这样使用onComplete

var model = new ForestStoreModel( 
    getChildren : function ( item, onComplete, onError ) 
        onComplete( item.dataDescription.components );
        
 );

这对我来说很好。

【讨论】:

【参考方案2】:

我在使用 Json 文件和普通的延迟加载树时遇到了同样的问题。

为了得到孩子,我是这样做的

var restStore = new JsonRest
    (
        target: "http://localhost........",
        headers:  'Content-Type': 'application/json;charset=utf-8' 
    );

    // Get an object by identity, then the remaining code will be executed (because of the async)
    // Otherwise the remaining code will be executed, before we get the object from the server (it wouldn't work)
    restStore.get("").then(function(items)
    
        // set up a local store to get the tree data, plus define the method
        // to query the children of a node
        var MemoryStore = new Memory
        (
            data: items,
            getChildren: function(object)
            
                return this.query(parent: object.id);
            
        );

我不知道你是否必须从另一台服务器获取你的 json 文件,但也许它会类似!

您好,

亚历克斯

【讨论】:

谢谢 Alex,问题是孩子们不在以下级别(description.compents)。所以我用onComplete( item.dataDescription.components ); 解决了这个问题:)

以上是关于我们如何在道场 TreeGrid 中设置子级?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 nginx 中设置子文件夹

Objective C:如何在当前可见帧中设置子视图显示? (UITableView)

如何从父组件中设置子组件的样式?

如何在 Scikit-Learn 的随机森林分类器中设置子样本大小?特别是对于不平衡的数据

在 matplotlib 中设置子图的大小

可以在关键帧中设置子元素的属性吗