Как вставить данные в SC.SourceListView
Я хочу отправить некоторые проанализированные данные JSON из моего контроллера в SC.SourceListView
(Витрина Sproutcore). Я использую SC.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
?
1 ответ
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, вам может потребоваться, чтобы ваши родительские объекты (те, которые имеют детей) имели group
атрибут установлен в true. Пожалуйста, дайте нам знать, если это помогает или нет!