今天在一个面板上面嵌套了一个treepanel,需要得到当前的id后发送到后天获取值,这时候就不要treestore的自动加载了,我是用到异步加载的。
解决办法把下面代码注释掉:
Ext.define("Sharera.system.store.directory.UnitTree",{
extend:'Ext.data.TreeStore',
model: 'Sharera.system.model.directory.DirectoryTree',
nodeParam : 'id',
autoLoad : false,
autoSync : false,
/* root: {
expanded : false
},
proxy : {
type : 'ajax',
url : '../../api/unit/treecheck.json?type=unit',
reader : {
type : 'json'
},
writer: {
type: 'json'
}
},*/
当我们启动windows之前:
var pId=self.getTreeNodeId(record.parentNode.get('id'));
var store=Ext.getStore('directory.UnitTree');
store.setProxy({
type : 'ajax',
url : '../../api/unit/tree.json?type=user2unit&uid='+self.getTreeNodeId(record.get("id")),
reader : {
type : 'json'
},
writer: {
type: 'json'
}
});
store.load();
var id=self.getTreeNodeId(record.get("id"));
var editForm=Ext.widget('userformedit',{title:"编辑用户"});
var formObj=editForm.down('form').getForm();
var userStore=Ext.create('Sharera.system.store.directory.User');
userStore.setUrlforForm(id);
userStore.load(
{
scope: this,
callback: function(records, operation, success) {
formObj.loadRecord(records[0]);
}
}
);