0

パネル内にフィールドセット(テキストボックス、selectfieldなど)を生成しました。ログインが完了したら、controller.jsの次のコードを使用してこのパネルを表示します

Ext.Viewport.add({xtype: 'IntakePanel'});
Ext.Viewport.setActiveItem({xtype: 'IntakePanel'});

しかし、この後、調べてみると、2つのパネルがあることがわかります

下の画像に示すように

このため、パネルのフィールドにアクセスしようとすると、長さが2/4などの配列になります。を使用して削除しようとします。

  Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true);  

しかし、あまり役に立ちません。

これについて私を助けてください。ありがとう

4

1 に答える 1

0

xtypeのみを渡すと、以前と同じインスタンスを参照しようとしていることを認識できないため、フレームワークがコンポーネントを再インスタンス化していると思います。インスタンスにIDを追加し、xtypeをsetActiveItemに渡す代わりに、コンポーネントクエリの結果をインスタンスに渡してみてください。

Ext.ComponentQuery.query('#yourCompoId'):
于 2012-05-10T13:28:15.583 に答える