ExtJs4.1の使用
すべてのフローティングコンポーネント(ウィンドウ、メッセージボックスなど)をクエリする方法はありますか?
私の目的は、すべての浮遊物を取り除く(破壊する)ことです。それらを直接「取得」するだけで十分です。
デフォルトですべてのフローティングコンポーネントを担当する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(); });