Для этой цели можно использовать метод 'cascade'
. (http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.container.AbstractContainer-method-cascade)
Как и в этой скрипке http://jsfiddle.net/j27rfzu6/1/
var store = Ext.create('Ext.data.TreeStore', {
root: {
expanded: true,
children: [{
text: "Grand Parent",
checked: false,
isSelected: false,
id: '1',
children: [{
text: 'Child Node',
checked: false,
IsSelected: false,
id: '1.1',
children: [{
text: "Grand Child One",
expanded: true,
checked: false,
isSelected: false,
id: '1.1.1',
}, {
text: "Grand Child Two",
expanded: true,
checked: false,
isSelected: false,
id: '1.1.2',
}, {
text: "Grand Child Three",
expanded: true,
checked: false,
isSelected: false,
id: '1.1.3',
}]
}, {
text: 'Child Two',
checked: false,
isSelected: false,
id: '1.2',
children: [{
text: "Grand Child Four",
expanded: true,
checked: false,
isSelected: false,
id: '1.2.1',
}]
}]
}]
}
});
Ext.create('Ext.tree.Panel', {
title: 'Example Tree',
width: 200,
height: 450,
store: store,
rootVisible: false,
multiSelect: true,
renderTo: Ext.getBody(),
listeners: {
itemclick: function (thisGrid, record, item, index, e, eOpts) {
record.cascade(function(){
alert(this.get('text'));
});
var v = 10;
alert('clicked');
}
}
});