如何知道所选节点是否是树中的一片叶子?(ExtJS 4)
How do I know if the selected node is a leaf in a tree ? (ExtJS 4)
我有一个树面板,我想将一个操作与单击该树的叶子相关联。我设法将一个元素与每点击一次树元素相关联,但我不仅与树叶相关联。
在这里我的代码,我尝试了它与非常简单的功能:(菜单是一个视图扩展树.Panel)
Ext.define('WSR.controller.MenuControl', {
extend: 'Ext.app.Controller',
views: [
'Menu',
'Browser'
],
stores: [ 'UserStore' ],
init: function() {
this.control({
'menu': {
itemclick: this.onItemClicked
}
});
},
onItemClicked: function() {
console.log('ItemClicked');
}
});
有人帮我吗?
尝试:
Ext.define('WSR.controller.MenuControl', {
extend: 'Ext.app.Controller',
views: [
'Menu',
'Browser'
],
refs:[
{
selector: 'Menu', //Suggest u to use a selector that is more "tightened" in case you have more trees of this type
ref: 'mynicetree'
}
],
stores: [ 'UserStore' ],
init: function() {
this.control({
'menu': {
//I suggest u use selectionchange instead, itemclick won't work if the use navigate the tree nodes using keyboard, whereas selectionchange fit both
selectionchange: this.loadStuff
}
});
},
loadStuff: function() {
//Assuming you can only select one node at a time (typical use case)
var myTreePanel = this.getMynicetree();
var nodes = myTreePanel.getSelectionModel().selection();
if(!Ext.isEmpty(nodes))
{
var selNode = nodes[0];
if(selNode.get("leaf")) //Assuming your NodeInterface "leaf" property was assigned
{
//Its a leaf
}
//OR
if(selNode.isLeaf())
{
//Its a leaf
}
}
}
});
啊!
如果您有节点id,那么您可以尝试以下代码:
taxonomyTreeLoader.on("load", function(){
if(isQueryExecutable && singleParamDynamicQuery &&docTypeCodeDynamciQuery.length>0){
var currentNode=taxonomyTree.getNodeById(docTypeNodeId);
if(currentNode.isLeaf()){
taxonomyTree.getSelectionModel().select(currentNode);
taxonomyTree.fireEvent("click", currentNode);
}
}
});
这个问题来自去年,但这个解决方案可能对有帮助
init:function(){
this.control({
//Component listeners
'menu': {
itemclick: this.onItemClicked
}
});
this.application.on({
//Event handlers
});
},
onItemClicked: function(tree, record) {
if(record.isLeaf()){
alert('related: '+"'n"+record.getId());
console.log(record.getId());
}
}
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- Javascript返回值只在循环中返回一次
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- Jquery FadeIn FadeOut 只工作一次
- 如何获取不属于我项目的上一页的URL
- Javascript html每点击一次就会更改url
- 键入最后一位数字后自动提交
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- fluxxor向一个flux实例添加一组以上的操作
- 如何在Facebook上的iframe应用程序中使后退按钮返回到上一页
- 当单击第一个李时,它显示内容一,当单击第二个李时,它显示内容二
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- AngularJs的命令在一片深深的田野旁
- 谷歌地图没有;不要出现.只是一片空白
- 如何知道所选节点是否是树中的一片叶子?(ExtJS 4)
- 图像切片,只保存(通过filesver .js)最后一片的顺序