2

私は ExtJS を始めたばかりなので、ここで質問することは非常に些細なことかもしれません。Sencha Web サイトの車のチュートリアルを完了したばかりで、何かを作成しようとしています。Viewport 初期ビューとしてを追加し、そこにPanelすべてのウィジェットを保持するを配置しました。

Ext.define('MyApp.view.MyViewport', {
    extend: 'Ext.container.Viewport',

    layout: {
        type: 'fit'
    },
    ...
});

Windowボタンをクリックして開くことができるも作成しました。

Ext.define('MyApp.view.MyWindow', {
    extend: 'Ext.window.Window',

    height: 185,
    renderTo: 'MyApp.view.MyViewport',
    width: 334,
    layout: {
        type: 'absolute'
    },
    title: 'My Window',

    initComponent: function() {
      ...
    }
});

onclick ハンドラは次のようになります。

var wind = new MyApp.view.MyWindow();
wind.modal = true;
wind.show();

問題は、ウィンドウを開くとViewport、ブラウザーのビューポートに浮かんでいるのではなく、すべてのパネルの下の 内にレンダリングされることです。どうすれば修正できますか?

アップデート

Sencha Architect を使用して新規作成Windowし、同じ方法で開きます。期待どおりに動作します。と の別々の.jsファイルを見るMyWindowMyWindow1、実際の違いはわかりません。

MyWindow: http://pastebin.com/yE9V1twc

MyWindow1: http://pastebin.com/ZznUVZni

4

2 に答える 2

1

クラスから削除renderTo: 'MyApp.view.MyViewport',します。MyWindowこれにより、ウィンドウ定義のコードが次のようになります。

Ext.define('MyApp.view.MyWindow', {
    extend: 'Ext.window.Window',

    height: 185,
    width: 334,
    layout: {
        type: 'absolute'
    },
    title: 'My Window',

    initComponent: function() {
      ...
    }
});
于 2013-04-19T18:51:25.070 に答える