1

ExtJs4.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 に答える