ExtJS 4.隐藏的treepanel,自动加载错误

时间:2013-08-05 13:42:27

标签: extjs

我的表单中有一个treepanel。代码是

{
xtype:'treepanel',
rootVisible:false,
hidden:true,
autoload:false,
store:{autoload:false,proxy:{type:'ajax',url:'../json/objectList.php?id='+id},root:{text:'Objects',id:'src',expanded:true}},
listeners:{
    show:function(){
        this.store.load();
    }
}
}

问题是,我想在显示树之前阻止加载。但是将autoload设置为false不会产生任何影响。即使树被隐藏,我仍然会看到服务器请求。

1 个答案:

答案 0 :(得分:1)

autoLoad属性不适用于树存储,因为负载基于节点的扩展,就像您为root用户所做的那样。这就是我要做的就是克服它。

在你的商店混淆

root:{
    text:'Objects',
    id:'src',
    expanded:true,
    children:[]
}

设置空子对象将阻止存储加载。然后,您需要做的就是在树视图上设置一个监听器,以便像您一样加载存储。您将需要修改服务器代码以返回没有children属性的数据...所以只需要数组。