2013-12-20 24 views
5

アクティブな項目をメニュー内に動的に設定しようとしています。私は解決策を見つけることができませんでしたドキュメントを参照してください。私はメニュー全体をレンダリングしながらこれを試しています。アクティブなメニュー項目をメニュー内に設定する

caseListStore.each(function(n) { 

     var menuItem = new Ext.menu.Item({ 
      text: rec.data.name, 
      value: rec.data.url, 

     }); 

     if (rec.data.name == "someCondition)" 
      menuItem.setActive();  //not working 

     casesMenu.add(menuItem); 
}); 
+0

「機能しない」とはどういう意味ですか? ')'がありません。 – Patrick

+0

これは問題ではありません。実際には何も起こりません。 – Jacob

+0

menuitemが 'setActive()'によって何をしたいのですか? – Patrick

答えて

-2

あなたは、より良いメニュー項目がメニュー

caseListStore.each(function(n) { 

    var menuItem = new Ext.menu.Item({ 
     text: rec.data.name, 
     value: rec.data.url, 

    }); 

    casesMenu.add(menuItem); 

    menuItem.on("afterrender", function(){ 
     if (rec.data.name == "someCondition)" 
      casesMenu.setActiveItem(menuItem); 
    } 



}); 
+0

お返事ありがとうございます。しかし、何も起こりません。デフォルトメニューは選択されたままです。Uncaught TypeError:未定義のメソッド 'scrollIntoView'を呼び出せません – Jacob

+0

アクティブな項目を設定する前にメニューをレンダリングさせましたか? – Christoph

+0

メニューは既にレンダリングされています – Jacob

1

に追加された後にメニューのsetActiveItem方法、を使用しますsetDisabledを使用してみましたか?

menuItem.setDisabled(true); 

ExtJS 3.4を使用している場合は、disable機能を使用してください。

 menuItem.disable(); 
+0

アイテムをアクティブにしたい場合はなぜsetDisabledを使用するのですか? – Jacob

+0

setActive(true)またはsetActive(false)を使用できますが、setActiveはイベントをアクティブ化および非アクティブ化します。 – user820688

関連する問題