2012-08-22 104 views
0

我想從我的控制器中將一些解析的JSON數據推送到SC.SourceListView(Sproutcore Showcase)。我用一個SC.TreeController並設置解析JSON作爲內容:如何將數據推送到SC.SourceListView

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.SourceListViewSC.SourceListGroupView有何區別?

(Google Group Link)

回答

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%肯定的,因爲我可以' t似乎找不到任何文檔,但根據SproutCore Showcase,您可能需要確保您的父對象(具有子項的對象)的group屬性設置爲true。請讓我們知道,如果這有幫助或沒有!

+0

謝謝,我在問題文本中更正了「arrangeObjects」錯字。 此外,我添加了從解析的JSON中創建的對象的結構。 – DonJuwe

+0

您是否嘗試將您的'groupExampleView'更改爲'SC。SourceListGroupView'? –

+0

是的,它不顯示三角形。 – DonJuwe