treepanel的treestore默认总是自动加载,即使把autoload设为false也一样。为了让其不自动加载,可以这样做:
首先,在定义treestore时不加入proxy设置。
var menuStore = Ext.create('Ext.data.TreeStore', {
root: {
text: 'Ext JS',
//id: 'src',
expanded: true
},
autoLoad: false
});
然后,在手动load前,加入proxy。
menuStore.setProxy({
type: 'ajax',
url: 'myAction.action',
reader: {
type: 'json'
}
});
需要注意的是,在load的时候,必须确保treepanel存在于页面上,也就是说必须已经渲染到一个可视的container中。否则会出现找不到控件的错误。