我加载了一个TreePanel,扩展了项目(在我的json中定义),但是当它显示时它没有展开。
只是dir(图标)已打开,但项目未显示。我加载它使用加载存储功能来重新加载我的treepanel。
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: {
}
}
答案 0 :(得分:0)
尝试以下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);