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

前端时间使用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();
        }
}});

你可能感兴趣的:(ext)