ExtJS:在trepanel selectionChange后触发哪个事件

ExtJS : Which event fires after Treepanel selectionChange?

本文关键字:事件 trepanel selectionChange ExtJS      更新时间:2023-09-26

我想强制ExtJS TreePanel中的RootNode选择,然后我在TreePanel的selectionchange事件中做一些操作。之后,我想从树面板中获得选定的行,并将其作为事件参数传递。我能够实现它与给定的代码,但有时'selModel.getSelection()'没有得到所有选定的行。可能在完成selectionchange事件之前,它正在执行下一行。

var tree = this.getTree();
var selModel = tree.getSelectionModel();
selModel.select(tree.getRootNode()); // fires selectionchange event
var selectedRows = selModel.getSelection(); 
if (selectedRows.length > 0) {
//Here I fire another event by passing selectedRows as parameter
}
selectionchange: function(){
//some looping operation
}
如果有人能在这方面帮助我,那就太好了。由于

不知道为什么要调用这个代码:selModel.select(tree.getRootNode());

不会更有效率

替换:

var tree = this.getTree();
var selModel = tree.getSelectionModel();
selModel.select(tree.getRootNode()); // fires selectionchange event
var selectedRows = selModel.getSelection(); 
if (selectedRows.length > 0) {
//Here I fire another event by passing selectedRows as parameter
}
selectionchange: function(){
//some looping operation
}

然后改成:

var tree = this.getTree();
var selectedRows= tree.getSelectionModel().getSelection();//This line grab all selected items by user.
//rest code the same
if (selectedRows.length > 0) {
//Here I fire another event by passing selectedRows as parameter
}