我想在ExtJS TreePanel中强制选择RootNode,然后在treepanel的selectionchange事件中执行一些操作。之后,我想从treepanel中获取选定的行,并将其作为事件参数进行传递。我可以使用给定的代码来实现它,但有时'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
}如果有人能帮我的话就太好了。谢谢
发布于 2015-07-24 21:50:46
不知道为什么要调用这段代码: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
}https://stackoverflow.com/questions/31611940
复制相似问题