Extjs中创建Tree菜单【一】
此篇treepanel的描写是很简单,没有太大的难度,在学习时,可以先熟悉tree的一些配置信息、属性、方法和事件。
然后先写一个简单的例子,慢慢了解从中如何实现的,然后在慢慢的深入了解,实现一些复杂的效果。
在实现此效果的同时,发现一个问题,就是如果节点的id设置相同,tree首次展现是没有问题,但点击节点展开和收缩会发现数据在莫名其妙的增加,
同时节点会出现混乱的状况,如果用户同时又单击节点,触发其他效果的,严重可能会导致浏览器崩溃。在此要留意数据id不能重复。
以下就开始贴出实现的代码:
Ext.onReady(function(){
// Ext.Msg.alert("提示","hello world") var treeData = [
{id:"1001",name:"wind",tel:"18603071234"}, {id:"1002",name:"小月",tel:"18603073578"},
{id:"1003",name:"冷清雪",tel:"18603073569"}, {id:"1004",name:"布隆",tel:"18603073214"},
{id:"1005",name:"莫甘娜",tel:"18603072568"}, {id:"1006",name:"阿里",tel:"18603073247"},
{id:"1007",name:"阿卡丽",tel:"18603071563"}, {id:"1008",name:"卡特",tel:"18603071234"},
{id:"1009",name:"死歌",tel:"18603071234"},
] var children = []
for(var i in treeData)
{
children.push({ text: treeData[i].name, id: treeData[i].id, leaf: true });
} var treeStore = Ext.create('Ext.data.TreeStore', {
root: {
text:"活动",
id: 0,
expanded: true, //设置节点展开
children: children
}
}); //创建TreePanel
var treePanelObj = Ext.create("Ext.tree.Panel", {
region: "west",
header: false,
border: false,
height:500,
autoScroll: true,
animate: true,
rootVisible: true, //设置根节点显示
collapsible: true,
// cls: "GridTree",
// style:"margin-top:0px;",
store: treeStore,
listeners:{
itemclick: function (view, record, item, index, e, eOpts) {
// 单击节点事件,包括根节点
// 此处代码自己可以实现。。。
},
load:function(){
// 此处可以设置节点默认被选中
}
}
}); //选中后激活itemclick事件里的内容需要 绑定select事件才可以
var treeRecord = treePanelObj.getRootNode().getChildAt(0);
var id = treeRecord.data.id;// 获取节点ID数据
//设置选中节点被选中状态
treePanelObj.getSelectionModel().select(treeRecord, false, false); var win = Ext.create("Ext.window.Window",{
width:400,
height:500,
id:"MyTreeWindow",
title:"Tree菜单显示",
items:treePanelObj
}); win.show(); });
显示效果:
异常原因:
如果展开和收缩节点,出现节点混乱问题,先确定节点的id是否唯一
Extjs中创建Tree菜单【一】的更多相关文章
- 在Magento 2中创建管理员菜单
在Magento 2中创建管理员菜单 第1步:创建menu.xml 第2步:添加菜单项 第3步:刷新Magento缓存 第1步:创建menu.xml 创建名为:menu.xml文件的管理菜单文件 ap ...
- ExtJS中给Tree节点加click事件
第一种: 直接通过TreePanel中的Config Option中的listener来添加,代码如下: var TreePan = new Ext.tree.TreePanel({ id: 'Tre ...
- Android在Activity中与Fragment中创建自定义菜单的区别
区别就在这里,Activity中添加菜单要这样: public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R ...
- 33. Extjs中的tree节点的操作
转自:https://blog.csdn.net/masterShaw/article/details/51354351?utm_source=blogkpcl9 ext 树节点操作 tree ...
- ExtJs中实现tree节点,全部是单击展开和收缩效果,和收藏夹点击功能一样
listeners : { click : function(node, c) {// 单击节点事件(node是节点对象) if(!node.isLeaf()){//不是叶子节点 node.singl ...
- 如何快速在odoo中创建自己的菜单
上一篇内容:如何快速创建odoo模块,使用脚手架快速创建自己的odoo应用app 前言 在上一个教程中,我们已经实现了对模块的创建,现在我们要对创建的模块添加内容,这个教程将教你如何在odoo菜单中创 ...
- liunx中图形化桌面环境中的脚本编程之——创建文本菜单
整体是通过建立菜单布局,然后根据菜单上的布局建立函数(就是为这些布局实现功能),最后将函数和布局实现逻辑上的相连: 如何建立菜单布局? 整体上是通过打印字符创建出,因此需要使用echo命令,但是有一些 ...
- Android开发 ---代码创建选项菜单、隐藏菜单项、菜单的生命周期,菜单按钮图标设置、搜索框、xml中设置子菜单
1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> < ...
- 【VisualStdio】在VS2015中显示上下文菜单中“创建单元测试”菜单
---恢复内容开始--- VS2012以后创建单元测试的选项被默认隐藏了,创建单元测试变得无比低效率.看msdn的说法好像是想推荐使用Intell Test来替代单元测试的用途,但是还没摸清楚也不敢瞎 ...
随机推荐
- Delphi 中的常用事件
OnActive 焦点称到窗体或控件时发生 OnClick 鼠标单击事件 OnDbClick 鼠标双击事件 OnClose和OnCloseQuery 当关闭一个窗体时就会响应OnClose和OnClo ...
- --@angularJS--指令之单个点击展开demo
1.expander.html: <!DOCTYPE HTML><html ng-app="app"><head> <title&g ...
- mfix模拟流化床燃烧帮助收敛的方法
1.在反应速率里用rate_limit函数:2.初始床料中可以添加一部分碳和灰.下面给出详细解释: 1.c3m生成的化学反应速率中有一个这样的函数: double precision function ...
- HDU-2573-Typing
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2573 这题把%s与gets()的输入法搞混了一直感觉没有错,就是找不出哪里错了, 题目思路不是很难. ...
- 响应HttpServletResponse
可以使用HttpServletResponse来对浏览器进行响应,大部分情况下,会使用setContentType()设置响应类型,使用getWriter()取得PrintWriter对象,而后使用P ...
- Xtrabackup构建MySQL主从环境
环境:HE3主库,HE1从库 HE1:192.168.1.248 HE3:192.168.1.250 从库my.cnf加入以下参数并重启数据库: read_only=1 log_slave_updat ...
- PHP生成短信验证码
简单版本 <?php function generate_code($length = 6) { $min = pow(10 , ($length - 1)); $max = pow(10, $ ...
- jquery常用的一些方法
一.选择网页元素(标签选择器) $(document) //选择整个文档对象 $('#myId') //选择ID为myId的网页元素 $('div.myClass') // 选择class为myCla ...
- C++ Primer 笔记 第三章
C++ Primer 第三章 标准库类型 3.1using声明 例: using namespace atd; using std::cin; 3.2string类型 初始化方式 string s1 ...
- win10更新时遇到错误0x80070002的正确处理方法
win10更新Flash Player.或者在 “启用或关闭windows功能” 经常出现提示错误0x80070002,这要怎么解决呢?这里介绍下正确的错误代码0x80070002解决办法. 严肃提 ...