2017-01-02 27 views
3

Extjs項目をクリックするとメニューが非表示になります。誰かがメニュー項目をクリックしてもメニューを表示したい。項目をクリックするとメニュー項目が表示されます

フィドル:https://fiddle.sencha.com/#view/editor&fiddle/1nfo

Ext.create('Ext.button.Button', { 
text:'menu open', 
id: 'todostatusFilter', 
renderTo:Ext.getBody(), 
menu: { 
    xtype: 'menu', 
    id: 'todostatusFilterMenu', 
    items: [{ 
     text: 'All', 
     action: 'All', 
     checked: true, 
     group: 'todoSortByStatus' 
    },{ 
     text: 'incomplete', 
     action: 'Incomplete', 
     checked: false, 
     group: 'todoSortByStatus' 
    }, { 
     text: 'Complete', 
     action: 'Complete', 
     checked: false, 
     group: 'todoSortByStatus' 
    }] 
} 
}); 

答えて

3

あなたはこれを試すことができます - ボタンにenableToggle: trueを追加し、同様にメニューのbeforehideにリスナーを追加します。おかげで

button = Ext.create('Ext.button.Button', { 
    text: 'menu open', 
    id: 'todostatusFilter', 
    renderTo: Ext.getBody(), 
    enableToggle: true, 
    menu: { 
     xtype: 'menu', 
     id: 'todostatusFilterMenu', 
     listeners: { 
      beforehide: function() { 
       return !button.pressed; 
      } 
     }, 
     items: [{ 
      text: 'All', 
      action: 'All', 
      checked: true, 
      group: 'todoSortByStatus' 
     }, { 
      text: 'incomplete', 
      action: 'Incomplete', 
      checked: false, 
      group: 'todoSortByStatus' 
     }, { 
      text: 'Complete', 
      action: 'Complete', 
      checked: false, 
      group: 'todoSortByStatus' 
     }] 
    } 
}); 

https://fiddle.sencha.com/#view/editor&fiddle/1nfp

+0

。どのアイテムが機能の前にクリックされたかを確認する方法はありますか? –

+0

@AjayThakurあなたはチェックされたアイテムを見つけることができます、これを試してください:https://fiddle.sencha.com/#view/editor&fiddle/1nfr –