Ich baue eine app in Sencha Touch 2 eine PhoneGap-Wrapper verwenden. Ich bin in MVC-Modell-Codierung, hier ist der Link der App in einem Web-Server (für debug): http://nqatalog.negroesquisso.pt/APP/ LOGIN: Benutzer: 1, Passwort: 1NestedList wont machen
ich eine verschachtelte Liste mit einem TreeStor habe ihre Daten zu laden und .json Datei mit den Daten.
Modell
Ext.define('APP.model.menuitem',{
extend: 'Ext.data.Model',
condig: {
fields: ['id', 'name', 'description', 'items']
}
});
Shop
Ext.define('APP.store.nestedmenu', {
extend: 'Ext.data.TreeStore',
config: {
model: 'APP.model.menuitem',
autoLoad: true,
proxy: {
type: 'ajax',
url: 'data/menu.json',
reader: {
type: 'json',
rootProperty: 'items'
}
}
}
});
Ansicht
Ext.define('APP.view.MenuNestedList', {
extend: 'Ext.dataview.NestedList',
xtype: 'menunestedlist',
id: 'debug',
config: {
store: 'nestedmenu'
},
});
Eine andere Ansicht, ruft die vorherige
Ext.define("APP.view.Leftmenu", {
extend: 'Ext.Panel',
xtype: 'leftmenu',
config: {
items: [
{
xtype: 'menunestedlist'
}
],
listeners: {
painted: function() {
}
},
},
onleafitemtap: function() {}
});
Diese verschachtelte Liste wird leer dargestellt (wie Sie sehen und debuggen, wenn Sie im obigen Link wollen)
Vielen Dank für Ihre Zeit.
* EDIT (Daten/menu.json)
{
"items": [
{
"id": 1,
"name": "Section #1",
"description": "Lorem ipsum dolor sit",
"items": [
{
"id": 8,
"name": "Product #1",
"description": "Lorem ipsum dolor sit",
"leaf": true
},
{
"id": 9,
"name": "Product #2",
"description": "Lorem ipsum dolor sit",
"leaf": true
}
]
},
{
"id": 2,
"name": "Section #2",
"description": "Lorem ipsum dolor sit",
"items": [
{
"id": 3,
"name": "Section #3",
"description": "Lorem ipsum dolor sit",
"items": [
{
"id": 10,
"name": "Product #3",
"description": "Lorem ipsum dolor sit",
"leaf": true
},
{
"id": 11,
"name": "Product #4",
"description": "Lorem ipsum dolor sit",
"leaf": true
}
]
},
{
"id": 4,
"name": "Section #4",
"description": "Lorem ipsum dolor sit",
"items": [
{
"id": 12,
"name": "Product #5",
"description": "Lorem ipsum dolor sit",
"leaf": true
},
{
"id": 13,
"name": "Product #6",
"description": "Lorem ipsum dolor sit",
"leaf": true
}
]
},
{
"id": 5,
"name": "Section #5",
"description": "Lorem ipsum dolor sit",
"items": [
{
"id": 14,
"name": "Product #7",
"description": "Lorem ipsum dolor sit",
"leaf": true
}
]
},
{
"id": 6,
"name": "Section #6",
"description": "Lorem ipsum dolor sit",
"items": [
{
"id": 15,
"name": "Product #8",
"description": "Lorem ipsum dolor sit",
"leaf": true
},
{
"id": 16,
"name": "Product #9",
"description": "Lorem ipsum dolor sit",
"leaf": true
},
{
"id": 17,
"name": "Product #10",
"description": "Lorem ipsum dolor sit",
"leaf": true
}
]
}
]
},
{
"id": 7,
"name": "Section #7",
"description": "Lorem ipsum dolor sit",
"items": [
{
"id": 18,
"name": "Product #11",
"description": "Lorem ipsum dolor sit",
"leaf": true
},
{
"id": 19,
"name": "Product #12",
"description": "Lorem ipsum dolor sit",
"leaf": true
},
{
"id": 20,
"name": "Product #13",
"description": "Lorem ipsum dolor sit",
"leaf": true
}
]
}
]
}
Hallo. Ich habe 'Layout: Anpassen' zu meiner linken Menüansicht hinzugefügt. Jetzt wird der Listenbaum gerendert, aber es erscheint kein Text. Überprüfen Sie es auf meinem Webserver. – Ricardo
hat den ursprünglichen Post damit aktualisiert. vielen Dank für Ihre Zeit. – Ricardo
Ich habe gerade den Schlüssel: „name“ auf „Text“ und es funktioniert. Es sieht so aus, als ob die Schlüssel speziell "Objekte" für Sammlungen und "Text" für Namen oder Beschreibungen sein müssen. Stellen Sie sicher, dass Sie es in Ihrer Liste von Feldern in Ihrer Modelldefinition ändern. –