Ext树控件第一次勾选父节点子节点没选中
项目中同事提出了这样一个bug
问题:
第一次勾选父节点子节点竟然没选中,逆天了啊
初步分析:
可能是之前代码的逻辑错误造成的,随进入调试阶段...
调试中发现该参数为空(原来写代码的也太没素质了),
没有内容然后想到没有内容导致下面的子节点不能便利出来,所以出来后没有选中,嘿嘿
然后加上该参数,接着查看然后发现bug依然存在,这次该参数有了,但是里面的元素还是没有啊,纠结....
深入分析:
rightnode.on('checkchange', function(node, checked) {
node.expand();
node.attributes.checked = checked;
var flag = false;
for (var i = 0; i < changemark.length; i++)
if (changemark[i] == node.attributes.id) {
flag = true;
break;
}
if (!flag)
changemark.push(node.attributes.id); node.eachChild(function(child) {
child.ui.toggleCheck(checked);
child.attributes.checked = checked;
var flag = false;
for (var i = 0; i < changemark.length; i++)
if (changemark[i] == node.attributes.id) {
flag = true;
break;
}
if (!flag)
changemark.push(node.attributes.id); child.fireEvent('checkchange', child, checked);
});
}, rightnode);
逐行看代码,怀疑这行代码有问题,节点展开事件,Ext可能把它做成异步的,上网一查还真是.
node.expand();
网上一哥们说这样写就行了,延长一毫秒
setTimeout(function () { nodeExpand(node); }, 1); //延迟一毫秒执行
但是经过本屌测试,这明显不行,然后延长至十毫秒,解决问题.
注意事项:
1.setTimeout 执行的函数带参数的写法
思维拓展:
1.node.expand();我有想过这个函数有没有回调函数,如果在回调函数里面处理,岂不美哉,但是官方API没有查到,
如果哪位大神知道好的解决方法,望告诉小弟.
Ext树控件第一次勾选父节点子节点没选中的更多相关文章
- EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中
需求:EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中 效果: /** * 给树增加onCheck事件,首先使用cascadeCheck:false属性禁止全选, ...
- Android 实现自己定义多级树控件和全选与反选的效果
博文開始之前,首先要感谢大牛:(lmj623565791),本博文是在其博文http://blog.csdn.net/lmj623565791/article/details/40212367基础上进 ...
- C# WinForm TreeView选择父节点子节点全选
//设置标志,防止死循环 bool check = false; public void TV_AfterCheck(object sender, TreeViewEventArgs e) { if ...
- 使用EasyUI的树控件构建Web界面
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...
- 基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...
- (转)基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面
http://www.cnblogs.com/wuhuacong/p/3669575.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...
- Qt实现表格树控件-支持多级表头
目录 一.概述 二.效果展示 三.实现方式 四.多级表头 1.数据源 2.表格 3.QStyledItemDelegate绘制代理 五.测试代码 六.相关文章 原文链接:Qt实现表格树控件-支持多级表 ...
- MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件
类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...
- jasonTree多选多级树控件
jasonTree1.0 jasonTree多选多级树控件(名字是自己取),用于友好的展示树形结构的数据,并可以多选,传统的做法是在一个select的下拉框中显示一个可折叠的树结构,公司的需求人员这种 ...
随机推荐
- 安卓状态栏通知Status Bar Notification
安卓系统通知用户三种方式: 1.Toast Notification 2.Dialog Notification 3.Status Bar Notification Status Bar Notifi ...
- Windows命令行(DOS命令)教程-3(转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_2.html
五.常用命令 DOS命令总共大约有一百个(包括文本编辑.查杀病毒.配置文件.批处理等),我们这里详细介绍二十个常用的DOS命令. 先介绍一下通配符的概念. 通配符*和? *表示一个字符串 ?只代表一个 ...
- 0129——UINavigationController
1.创建一个UINavigationController self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].boun ...
- (原)ubuntu安装libtbb.so.2
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6098132.html 参考网址: https://launchpad.net/ubuntu/+sour ...
- [{},{}]怎么转换成json
例如:有这样的字符串[{"CityId":18,"CityName":"西安","ProvinceId":27,&quo ...
- [转载]移动终端浏览器初始设置apple-mobile-web-app-capable
这两句话的确很有用,有了它,手机访问的时候像样了. 原文地址:移动终端浏览器初始设置apple-mobile-web-app-capable作者:素水凌心 移动终端浏览器默认设置视口的宽度和初始规模. ...
- HDU 5417 Victor and Machine
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5417 Problem Description Victor has a machine. When t ...
- DataTables选择多行
$(document).ready(function() { var table = $('#example').DataTable(); $('#example tbody').on( 'click ...
- AsEnumrable和AsQueryable的区别
http://www.cnblogs.com/jianglan/archive/2011/08/11/2135023.html 在写LINQ语句的时候,往往会看到.AsEnumerable() 和 . ...
- 用php理解指针--写给刚刚学习编程的人
在刚刚学习编程时,可能for循环什么的还是可以理解,但是当学习到指针的时候,课上估计很多人就睡觉去了. 现在用两端php程序说明指针 先写一个简单的,大家都理解下 <?php class tex ...