Ext.window关闭问题

ritchie27 2011-05-27
function winshow(actionpath)
{
var win = new Ext.Window({
    renderTo: Ext.getBody('window-win'),
    layout:'fit',
    width:700,
    height:400,
    closable:true,
    closeAction:'close',
modal:true,
    autoLoad:{url: actionpath, callback:this.initSearch, scope:this,scripts:true}
    });
win.setPosition(100,50);
win.show();

}
执行以上代码时,只有第一次的时候刷新Action,以后就不再刷新了?为什么啊?
atian25 2011-05-27
很奇怪的代码,
1.为什么要renderTo
2.既然closeAction是hide,为啥每次都要创一个win?
3.你的autoLoad是为了加载html过来?

建议: 只创建一个win, 监听show事件,通过Ext.Ajax.request得到html,然后panel.update()
atian25 2011-05-27
试着去掉renderTo: Ext.getBody('window-win'),
其实不需要这种方式来反复销毁创建win的, 看Panel的api,有个update方法
atian25 2011-05-29
window不需要原有dom有div, 自己会生成.
基本上,用到win的地方,都不会给它配置renderTo
yalong9527 2011-05-30
很奇怪呀。
liweixw 2011-05-30
清缓存试试, url 带个随机数试试。 
cnyangqi 2011-05-30
1,ExtJS的Window组件不需要配置renderTo属性。
2,改变actionpath参数值进行测试,两个不同的url和返回值。
3,closable:true, 多余
iro 2011-06-09
楼上说得没错,我个人补充一点:
//每次关闭时都隐藏窗口
,listeners: {
    close : function(){
        win.hide();
    }
}
,closeAction: 'hide'
ritchie27 2011-06-10
hide不行,只是隐藏了窗口,这样每一次也不刷新窗口了
lovest317 2011-06-13
因为你关闭是隐藏掉.第二次你只是把他在显示出来.肯定不会加载了..所以第二次你弹出来要把autoLoad在调用一次
Global site tag (gtag.js) - Google Analytics