TabPanelのアクティブアイテムをComponentQueryで選択する
- martini3oz
- 2690
- 0
- 0
- 0
同じViewクラスのインスタンスをタブパネルなどで複数表示したとき、コントローラーで単純にComponentQuery式を書くと、どれで発火するかわからなくなる。こんな場合はどうするのだ?アクティブなインスタンスになにか属性を設定するとか?
2012-10-08 20:28:18@martini3oz あー、なる。なら、イベント内で、インスタンス判定するしかないね。インスタンス化のときにitemIdつけるなりして。
2012-10-08 20:46:01@kotsutsumi そうですか。タブパネルでアクティブなパネルに反応させたいので、tabchangeイベントの時に特定のプロパティをセットして、panel[active] とかをセレクターにしてやろうかと考えているところです。
2012-10-08 20:47:53@kotsutsumi あ! {method} ですね!それがありましたね!isActiveはないなぁ、ちょうどいいメソッドがないか探してみます。
2012-10-08 20:53:57@kotsutsumi API Docで普通に探すとないんですよね〜。cardレイアウトのコード追っかけたりもしたんですが(´・ω・`)
2012-10-08 22:13:48@martini3oz あのーあるやん。Ext.tab.Tab active : boolean READONLY これじゃないっけか。
2012-10-08 22:15:41@martini3oz オンラインDocでいうと、http://t.co/bpRZS5f8 かな。これじゃなかったっけかなー昔無かったんだよ、3の時。Ext JS 4からじゃなかったっけかなー
2012-10-08 22:18:58@kotsutsumi それでいいんすかね。その下のhogeパネルなら、 tabpanel tab[active] hogepanel で。あざっす、やってみます。これでできたらちょーうれしい。
2012-10-08 22:21:01@martini3oz Ext.ComponentQuery.query('tabpanel tab[active]'); でいけるわぁ。API Docで直接Chromeから実行してみたらとれたもの。
2012-10-08 22:24:30