0

我想将一些解析的 JSON 数据从我的控制器推送到SC.SourceListView(Sproutcore Showcase)中。我使用 aSC.TreeController并将解析的 JSON 设置为内容:

MyApp.thisController = SC.TreeController.create({
    treeItemChildrenKey: 'children',
    content: []
});

该属性treeItemChild根据对象中的属性进行相应设置并通向子对象。

中的内容SC.TreeController包含几个基于以下结构的对象(JSON 数据)(这是我要推送到树视图中的对象之一的示例):

children: Array[3]
    0: Object
        children: Array[1]
        data: "Boogie"
        metadata: Object
        __proto__: Object
    1: Object
    2: Object
data: "Blues"
metadata: Object
__proto__: Object

我想把这个data属性放在我SC.SourceListView的里面,这样它就可以读取了。

Blues
    Boogie
    ...
    ...

此内容现在已绑定到SC.SourceListView并且应该data在屏幕上显示该属性:

viewname: SC.SourceListView.extend({
    contentBinding: SC.Binding.oneWay('MyApp.thisController.arrangedObjects'),
    exampleView: SC.ListItemView.extend({
        contentValueKey: 'data'
    }),
    groupExampleView: SC.ListItemView.extend({
        contentValueKey: 'data'
    })
})

有了这个,我可以得到data不同对象的顶层。但是没有下拉列表,它由更深层的对象组成。如何正确设置此视图?SC.SourceListView和 和有什么不一样SC.SourceListGroupView

(谷歌群组链接)

4

1 回答 1

0

SC.SourceListGroupView用于在SC.SourceListView. 目前,您正在使用

groupExampleView: SC.ListItemView.extend()

但是,SC.ListItemView默认情况下,不知道如何将自己呈现为一个组,因此您可能应该将其更改为

groupExampleView: SC.SourceListGroupView.extend()

之后,它应该向您显示树。

最后(我假设这只是问题中的一个错字):你有

MyApp.thisController.anrrangedObjects

我很确定你的意思是

MyApp.thisController.arrangedObjects

SC.SourceListGroupView如果将其更改为不能解决您的问题,请添加评论或更新您的问题!如果您仍然需要帮助,查看您尝试呈现的 JSON 结构也会很有帮助:-)

编辑:好的,所以,我不是 100% 确定这一点,因为我似乎找不到任何文档,但根据SproutCore Showcase,您可能需要确保您的父对象(那些有孩子的对象)有group属性设置为真。请让我们知道这是否有帮助!

于 2012-08-22T14:10:51.780 回答