美文网首页
[EXT] radio 控件setValue后事件丢失的bug

[EXT] radio 控件setValue后事件丢失的bug

作者: w_w_wei | 来源:发表于2019-11-27 08:50 被阅读0次

测试环境:Extjs 3.1.1

手动调用 setValue 事件,绑定的check事件丢失

解决方案 重写 setValue 方法
放在创建之前, 即可生效

Ext.override(Ext.form.Radio, {
    setValue : function(v) {
        if (typeof v == 'boolean') {
            Ext.form.Radio.superclass.setValue.call(this, v);
        } else if (this.rendered) {
            var els = this.getCheckEl().select('input[name=' + this.el.dom.name + ']');
            els.each(function(el){
                if (el.dom.value == v) {
                    Ext.getCmp(el.dom.id).setValue(true);
                } else {
                    Ext.getCmp(el.dom.id).setValue(false);
                }
            }, this);
        }
        return this;
    }
});

相关文章

网友评论

      本文标题:[EXT] radio 控件setValue后事件丢失的bug

      本文链接:https://www.haomeiwen.com/subject/egtxictx.html