解雇你需要有节点checkchange,如果它检查。
TreePanel
正在使用Ext.data.TreeStore
来存储它的节点信息(它在store
属性中)。
此TreeStore有getNodeById(id)
方法,它通过id返回记录节点。
如果要从其他属性获取节点,则需要使用store
中的tree
(Ext.data.Tree
)属性,该属性类似于节点管理器。这在nodeHash
属性中有一个节点记录数组。您需要迭代此数组并手动比较给定的属性。
的完整代码:
buttonClick: function(button, e, eOpts) {
var treepanel = button.up(...).down('treepanel');
var node = treepanel.getStore().getNodeById(yourIDHere);
// for custom property use this:
/*var nodeHash = treepanel.getStore().tree.nodeHash;
var node;
for (var x in nodeHash) {
if (nodeHash[x].get('customProperty') == customValue) {
node = nodeHash[x];
break;
}
} */
treepanel.fireEvent('checkchange', node, node.get('checked'));
}