1. 程式人生 > >ext tree 非同步載入取消自動載入功能。

ext tree 非同步載入取消自動載入功能。

今天在一個面板上面嵌套了一個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]);
                                            	    }
                                    			}
                                    	);