Extjs TreePanel не раскрывается
Я загружаю TreePanel с расширенным элементом (определенным в моем json), но когда он отображается, он не раскрывается.
Просто каталог (значок) открыт, но элементы не отображаются. И я загружаю его, используя функцию загрузки магазина, чтобы перезагрузить мою панель дерева.
storeTree = me.getTreePersonneStore();
storeTree.load({
params: {
idPersonne: batch.proxy.getReader().jsonData.id,
lettrePersonne: batch.proxy.getReader().jsonData.lettre
}
})
Мой магазин:
Ext.define('ModuleGestion.store.TreePersonne', {
extend: 'Ext.data.TreeStore',
requires: [
'ModuleGestion.model.Personne'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
autoLoad: true,
model: 'ModuleGestion.model.Personne',
storeId: 'StoreTreePersonne',
root: {
expanded : true,
text : 'Personnes',
expandable : true,
id : 'root',
nodeType:'async',
uiProvider:false
},
proxy: {
type: 'ajax',
node: 'id',
url: 'ModuleGestion/php/TreePersonne.php',
reader: {
type: 'json'
}
},
listeners: {
beforeload: {
fn: me.beforeload,
scope: me
}
}
}, cfg)]);
},
beforeload: function(store, operation, eOpts) {
operation.params.node = operation.node.get("id");
}
});
Мой JSON:
[{
id:"A",
text:"A",
expanded:true,
children:[
{
id:"101",text:"AA AA",leaf:true},
{id:"98",text:"AA AA",leaf:true},
{id:"86",text:"AA AA",leaf:true},
{id:"99",text:"AA AA",leaf:true},
{id:"96",text:"AA AA",leaf:true},
{id:"100",text:"AA AA",leaf:true},
{id:"97",text:"AA AA",leaf:true}]
}],
}]
Мое дерево:
{
xtype: 'treepanel',
id: 'TreePersonne',
store: 'TreePersonne',
viewConfig: {
}
}
1 ответ
Попробуйте следующий JSON. Дети также расширили собственность.
[{
id:"A",
text:"A",
expanded:true,
children:[
{
id:"101",text:"AA AA",leaf:true, expanded:true},
{id:"98",text:"AA AA",leaf:true, expanded:true},
{id:"86",text:"AA AA",leaf:true, expanded:true},
{id:"99",text:"AA AA",leaf:true, expanded:true},
{id:"96",text:"AA AA",leaf:true, expanded:true},
{id:"100",text:"AA AA",leaf:true, expanded:true},
{id:"97",text:"AA AA",leaf:true, expanded:true}]
}],
}]
В качестве альтернативы, вы можете расширить дочерние элементы после загрузки панели так:
YOUR_TREE_PANEL.expandChildren(true);