使用ExtJs 4.1
有没有办法查询所有浮动组件(窗口,消息框等)?
我的目标是移除(破坏)所有浮动物体。只要第一手“获取”就足够了。
答案 0 :(得分: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(); });