1

使用 ExtJs 4.1

有没有办法查询所有浮动组件(窗口、消息框等)?

我的目标是移除(摧毁)所有漂浮的物体。第一手“获得”它们就足够了。

4

1 回答 1

4

好吧,只需使用默认情况下负责所有浮动组件的Ext.WindowManager 即可。

以下应该工作:

Ext.WindowManager.each(function(cmp) { cmp.destroy(); });

这是一个示例JSFiddle

Ext.create('Ext.window.Window', {
    title: 'Hello',
    height: 200,
    width: 400,
    layout: 'fit',
    items: {  // Let's put an empty grid in just to illustrate fit layout
        xtype: 'grid',
        border: false,
        columns: [{header: 'World'}],                 // One header just for show. There's no data,
        store: Ext.create('Ext.data.ArrayStore', {}) // A dummy empty data store
    }
}).show();

Ext.Function.defer(function(){Ext.WindowManager.each(function(cmp) { cmp.destroy(); })}, 5000);

进一步阅读DOM-Query

编辑 仅销毁定义的类型

对于这种情况,请使用组件的 xtype 并检查它。

Ext.WindowManager.each(function(cmp) { if (cmp.xtype === 'window') cmp.destroy(); });
于 2012-11-28T14:29:33.020 回答