日期:2014-05-16  浏览次数:20371 次

extjs下页面元素如何重新加载
我的items是登录后动态赋值给它的,利用ajax从后台返回一个字符串.可是放到onready里就是加载不上,那个字符串是正确的,如何重新加载一下页面元素.如:items:[itemslist],在firefox中显示返回的itemslist是这样的"{id:'2',title:'营业管理',autoScroll:true,border:true,iconCls:'nav'},{id:'6',title:'无线调度',autoScroll:true,border:true,iconCls:'nav'}"
部分代码如下:

var itemslist='';
Ext.Ajax.request({
url: 'rootmenu',    
success: function(response, options){
itemslist=response.responseText.toString().trim;
},
failure: function(){
alert('错误', '网络连接错误,请重新登录!');
}
});

Ext.onReady(function(){
       Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
       setTimeout(function(){
       Ext.get('loading').remove();
       var viewport = new Ext.Viewport({
            layout:'border',
items:[
{
region:'north',
id:'north-panel',
html:'管理系统',
// title:"上部",
margins:'0 0 0 0',
// split:false,//间隙
// collapsible: true,//显示隐藏面板
height:50,
// border:false
},
{
region:'west',
id:'west-panel',
title:'导航菜单',
split:true,
width:200,
                minSize:175,
                maxSize:400,
                collapsible:true,
                margins:'0 0 0 5',
                cmargins:'0 0 0 5',
                layout:'accordion',
border:false,
items:[itemslist]
},{

------解决方案--------------------
ajax请求时异步操作。
所有的都放在异步后
Ext.Ajax.request({
url: 'rootmenu',   
success: function(response, options){
itemslist=response.responseText.toString().trim;
//写在这里
},
failure: function(){
alert('错误', '网络连接错误,请重新登录!');
}
});