当前位置: 代码迷 >> Web前端 >> 一个Ext 2.1 跟3.2Combox 渲染TreePanel 的BUG修复
  详细解决方案

一个Ext 2.1 跟3.2Combox 渲染TreePanel 的BUG修复

热度:68   发布时间:2012-11-06 14:07:00.0
一个Ext 2.1 和3.2Combox 渲染TreePanel 的BUG修复

一个Ext 2.1 和3.2Combox 渲染TreePanel 的BUG修复

文章分类:Web前端

前端时间使用Ext2.1做开发没有
做一个 Combox 渲染一棵树 点击树的节点是没有问题的
但几个月之后客户要升级
于是升级到Ext3.2
发生在做同一个功能的时候 出现了点击树的节点 然后div 自动收缩了
于是找来ext2.1和3.2的源代码进行比较
发现? 2.1会判断 当前的数据的记录数 是否为0 如果为0 则调用
this.collapse();
而3.2不会判断 记录数 总是会调用这个收缩的方法
至此知道问题所在就好办了
下面提供重写的方法

// 置空 函数 由于 combox 的div 上点击树 出现 消失 重写
Ext.override(Ext.form.ComboBox,{onViewClick:function(doFocus){
alert(doFocus);
var index = this.view.getSelectedIndexes()[0],
??????????? s = this.store,
??????????? r = s.getAt(index);
??????? if(r){
??????????? this.onSelect(r, index);
??????? }else if(s.getCount()==0) {
??????????? this.collapse();
??????? }
??????? if(doFocus !== false){
??????????? this.el.focus();
??????? }
}});