首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Treepanel :Treepanel selectionChange之后会触发哪个事件?

Treepanel :Treepanel selectionChange之后会触发哪个事件?
EN

Stack Overflow用户
提问于 2015-07-24 21:34:22
回答 1查看 461关注 0票数 0

我想在ExtJS TreePanel中强制选择RootNode,然后在treepanel的selectionchange事件中执行一些操作。之后,我想从treepanel中获取选定的行,并将其作为事件参数进行传递。我可以使用给定的代码来实现它,但有时'selModel.getSelection()‘不能获得所有选定的行。可能在完成selectionchange事件之前,它正在执行下一行。

代码语言:javascript
复制
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
}

如果有人能帮我的话就太好了。谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-07-24 21:50:46

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

这样做不会更有效率

替换为:

代码语言:javascript
复制
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
}

然后这样做:

代码语言:javascript
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31611940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档