表达的不是很清楚,就是树形菜单,有叶子节点,extjs默认的是双加节点才会收缩和伸展,其实实际中,都想使用方便一些,单击就可以展开叶子节点。如下图

现在的画面中单击系统管理菜单可以收缩,再单击就会展开,很简单一个功能,但是很实用,主要是在treepanel的itemclick定义相关事件,如下:

  itemclick: function (tree, record, item, index, e, option) {if(record.get("leaf")==false){          if (record.isExpanded()) {record.collapse();} else {record.expand();}return;}}

View Code

查看api其实可以指定,record是一个节点记录,具备treepanel的相关属性和事件,所以就好有上面的事件执行。完整代码如下(注意是放在Ext.onReady中):

    var store = Ext.create('Ext.data.TreeStore', {root: {expanded: true,children: [{id: "1001", text: "欢迎页面", leaf: true, url: "欢迎页面"}, {text: "系统管理", expanded: true,children: [{id: "1002", text: "角色管理", leaf: true, url: "角色管理"}, {id: "1003", text: "用户管理", leaf: true, url: "用户管理"}]}, {text: "系统日志", leaf: true, url: "系统日志"}]}});var menuTree = Ext.create('Ext.tree.Panel', {store: store,listeners: {itemclick: function (tree, record, item, index, e, option) {if (record.get("leaf") == true) {var tab = Ext.getCmp("tab" + record.get("id"));if (tab) {tab.show();}else {tabPanel.add({id: "tab" + record.get("id"),closable: true,html: record.get("text"),title: record.get("text")}).show();}}else {                         if (record.isExpanded()) {record.collapse();} else {record.expand();}return;}}}});var tabPanel = Ext.create("Ext.tab.Panel", {id: "centerTab",items: [{title: "欢迎",id: "1000",html: "欢迎你的到来"}]});Ext.create("Ext.container.Viewport", {layout: "border",items: [{region: "north",title: "演示系统",height: 100}, {region: "west",title: "系统菜单",width: 200,layout: "fit",items: menuTree}, {region: "center",layout: "fit",border: false,items: tabPanel}]});

View Code

转载于:https://www.cnblogs.com/mayantao/p/3317330.html

extjs4.1单击treepanel节点收缩叶子节点相关推荐

  1. JAVA8 获取叶节点_Java找出所有的根节点到叶子节点的节点值之和等于sum 的路径...

    题目描述 给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于 sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] ...

  2. 常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,

    题目描述 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] 示 ...

  3. 二叉树 二度节点和叶子节点之间的数量关系

    结论:二叉树中度数为2的节点数量比叶子节点少一个 证明:设0度节点(叶子节点).一度节点.二度节点数量分别为n0,n1,n2 那么总的点数为n=n0+n1+n2. 而边的数量为m=n-1(树的性质) ...

  4. 每天一道LeetCode-----计算二叉树所有根节点到叶子节点的和

    Sum Root to Leaf Numbers 原题链接Sum Root to Leaf Numbers 二叉树每个从根节点到叶子节点的路径都代表一个整数,计算所有整数的和 只需要遍历一遍整棵数即可 ...

  5. 每天一道LeetCode-----以字符串的形式输出二叉树所有从根节点到叶子节点的路径

    Binary Tree Paths 原题链接Binary Tree Paths 将二叉树中所有从根节点到叶子节点的路径以字符串的形式输出出来 直接遍历即可,注意只有左右子节点都是空节点时才叫叶子节点 ...

  6. 数据结构-树:根节点、子节点、叶子节点是什么?

    前言:这个属于数据结构:树. 下面给个例子图解释(根节点.子节点.叶子节点). 上图数字 1.3.7是叶子节点:(因为他们下面没有分叉出子节点,所以称为:叶子节点)[度为0] 数字2.8是子节点: ( ...

  7. leetcode 112 --- 二叉树根节点到叶子节点和为指定值的路径

    1 题目 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径. 2 解法 用递归的方法,如果当前不是叶子节点,就把sum减去当前的值,并把当前节点当作路径节点pu ...

  8. 二叉树的度为2的节点和叶子节点的关系

    不知道度为2的节点,和叶子节点的概念,可以看点击[二叉树简介] 等下.我要发挥我发画图神功了. (手动捂脸).jpg 我觉得我画的这个图不错了.将就这看把.. 总结公式 等于 用 x 代表 度为2的结 ...

  9. java计算二叉树的节点最小值_求二叉树根节点到叶子节点路径和的最小值:遍历(递归+非递归)...

    昨晚中兴笔试题,第一题是给定二叉树,每个节点的数据结构是 value,left,right,比较根节点到各个叶子节点路径和的大小,输出路径和的最小值.(补充:用ArrayList可以存储) 以前没做过 ...

最新文章

  1. 解决LC_ALL: 无法改变区域选项 (UTF-8): 没有那个文件或目录的问题
  2. Kvm虚拟机克隆以及添加磁盘
  3. C#机房重构-datagridview控件的使用
  4. 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
  5. [Spring5]IOC容器_Bean管理注解方式_创建对象
  6. gluPickMatrix和glReadPixels
  7. c语言内部堆排序的实现,内部排序之堆排序的实现详解
  8. LCD屏参:手把手教你计算LCD屏参(proch值)
  9. 【Linux开发】如何查看Linux kernel的内置模块驱动列表和进程ID
  10. express 4.x 获取post提交的数据
  11. 拓端tecdat|约会数据动态可视化分析:R语言使用ggplot和ganimate制作的动画图
  12. 通信专业实务(中级)
  13. 计算机上机模拟试题答案,[计算机类试卷]国家二级VB机试(上机操作)模拟试卷420及答案与解析.doc...
  14. 关于基于kangle和EP面板使用CDN
  15. (33):SSR是什么
  16. 达内C++视频(全)
  17. 转型AI ,80后华为Java工程师的故事
  18. sumo添加车辆_sumo demo 我们通过使用交通仿真软件SUMO(Simulation of 联合开发网 - pudn.com...
  19. 开源移动护理_开源让您的健康护理倍感美好
  20. 原图GPS定位的查找

热门文章

  1. c语言指针慕课,C语言-指针
  2. 20210601:力扣第243周周赛(上)
  3. 考研大纲词汇mysql下载_通过R语言统计考研英语(二)单词出现频率
  4. 嵌入式设备中支持国密算法的方法(三)——移植Openssl库的步骤说明
  5. 加密芯片——RSA算法特点与应用注意事项
  6. 英语总结系列(五):英语无处不在
  7. 谷歌用AI诊断早期肺癌超越人类医生,登上Nature子刊
  8. 「python」使用Python操作Excel的学习
  9. 用Python抓取网页并解析
  10. NSCache使用常见错误