2012-05-05 24 views
2

私は煎茶タッチ - ボタン/非表示ポップアップパネルを削除する方法クリック

Ext.define('MyApp.view.DatePanel', { 
extend: 'Ext.Panel', 
alias: 'widget.DatePanel', 
config: { 
    itemid:'DatePanel', 
    modal:true, 
    centered: true, 
    width:'320px', 
    height:'110px', 
    items:[ 
      { 
       xtype: 'datepickerfield', 
       label: 'Select date', 
       type:'date', 
       itemId: 'rptDate', 
       value: new Date(), 
      }, 
      { 
       xtype:'toolbar', 
       docked:'bottom', 
       items:[{ 
        text:'OK', 
        ui:'confirm', 
        action:'ShowTurnOverReport' 
       }, 
       { 
        text:'Cancel', 
        ui:'confirm', 
        action:'Cancel' 
       } 

      } 
     ] 
} 

怒鳴るように、パネルを作成しています});

私はそれが私が

Ext.Viewport.remove(Datepanel), 
var pnl = Ext.getCmp('DatePanel'); 
pnl.hide(); 

何もを試してみました

削除/キャンセル私は非表示にする]をクリック]ボタンを怒鳴るコード

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

を使用してポップアップとしてこのパネルを表示働いた。これどうやってするの ??

答えて

6

複数の方法で実行できます。

解決方法1:

Ext.getCmp()機能を使用するには、コンポーネントのidプロパティセットを持っている必要があります。したがって

{ 
text:'Cancel', 
ui:'confirm', 
action:'Cancel' 
listeners : { 
    tap : function() { 
      var pnl = Ext.getCmp('datepanel'); 
      pnl.hide(); 
    } 
} 
} 

...以下のコードを記述し、以下に示すように、あなたのDatePanel

Ext.define('MyApp.view.DatePanel', { 
extend: 'Ext.Panel', 
alias: 'widget.DatePanel', 
id:'datepanel', 
config: { 
    ...... 
    ...... 

idを与え、その後Cancelボタンのクリックハンドラの解決策2:

あなたeadyは..あなたがあなたのコンポーネントへの参照を取得するために、次の行を使用することができ、VaRのPNL = Ext.getCmp(「datepanel」)との

var pnl = Ext.Container.getComponent('DatePanel'); 
pnl.hide(); 
+0

どうもありがとうその作業罰金をitemidプロパティを定義しました。 pnl.hide();私はpnl.destroy()を使用していたので、このパネルを(私は既存のコンポーネントが破壊されていることを確認してください)ように再度開いたとき警告が表示されました。代わりにpnl.hide(); –

+0

idの代わりにitemIdを使用できます。次に、Ext.ComponentQuery.query( '#yourItemId')[0]を使用してコンポーネントを識別します。 –

関連する問題