extjs4 的 异步加载


unitTreeStore = Ext.create('Ext.data.TreeStore', {
	storeId:'unitTreeStore',
	nodeParam: 'pid',  //向服务端发送结点的名称,默认为node
	defaultRootId: '', //向服务端发送root结点的值
	proxy: {
		type : 'ajax',
		url : 'unit/getUnits.do',
		reader : {
			type : 'json',
		}
	}
});

var unitTreePanel = Ext.create("Ext.tree.Panel",{
	title: '单位列表',
  	width: 250,
    	region: 'west',
        store: unitTreeStore,
    	rootVisible: false
});
//让ext全屏显示
Ext.create('Ext.container.Viewport',{
	layout:'border',//Border布局
	items: [unitTreePanel]
});
 

服务器返回的字符串是:[{ id : '2',text : '分公司1',leaf:false},{ id : '3',text : '分公司2',leaf:true},{ id : '4',text : '分公司3',leaf:true},{ id : '5',text : '分公司4',leaf:true},{ id : '6',text : '分公司5',leaf:true},{ id : '7',text : '分公司6',leaf:true}]

不管你用的是struts还是spring mvc只要返回是类似于这样的json字符串就行啦


在这儿主要说明一点默认第一次发送url为http://localhost:8989/oa_project/unit/getUnits.do?node=root

而我上面的代码发送的是http://localhost:8989/oa_project/unit/getUnits.do?pid=

如果你不想发送参数名是node而是pid可以这样设置:nodeParam: 'pid'

root结点的默认值为root,这样在后台还的单独处理,你可以设置为0或者是其他的值,只需要加上一条这样的

语句:defaultRootId: 0

 

效果图如下:


extjs4 的 异步加载

 

 

 


你可能感兴趣的:(extjs4)