私はExtJS4(beta 3)を使用していて、私の種類のナビゲーションメニューであるTreePanelを持っています。これは次のようなものです。
- ジョブズ
- ジョブを追加
- すべてのジョブを一覧表示
- ..。
- ..。
- ..。
(これは許可システムベースで行われますが、それは別の話です)
ExtJS 3では、[ジョブの追加]をクリックしたときに何かを実行するのは追加するのと同じくらい簡単でした
...
leaf:true,
listeners:{
click:function(n){
//my code...
}
}
...
ルートの子要素に。
今ではそれほど単純ではありません。私が近づいたのは(ツリーパネル上で)
listeners:{
click : {
element : 'el',
fn : function(eve, elem, obj){
console.log(node);
console.log(elem);
console.log(obj);
}
}
}
だから、たぶん私はただの初心者かもしれないし、ExtJSに対してすでに強い憎しみを持っているかもしれないし、このベータ版では問題なのかもしれないが...
ツリーノードのクリックイベントにリスナーを追加するにはどうすればよいですか?(Selectイベントは必要なことを実行しません)
君たちありがとう。
編集:現在これでテストしていますが、機能していません。
... = Ext.create('Ext.tree.TreePanel', {
region : 'west',
collapsible : false,
title : 'ITMI',
width : 220,
margins : '5 5 5 5',
cmargins : '5 5 5 5',
hideHeaders : true,
useArrows : true,
rootVisible : false,
headers: [{
xtype : 'treeheader',
text : 'Nome',
flex : 1,
dataIndex: 'nome'
}],
store: store,
listeners:{
itemclick: function(n){
console.info(n);
}
}
...
編集2: itemclickイベントが機能するようになりました(EXJS 4ファイナルで)、それでも問題は解決しません。各ツリーノードを呼び出すときに、特定の関数を呼び出したいのですが。それが本当に簡単だった前に。今、私はそれを理解することができません。