渲染自定义单选按钮在ExtJS 3

Render custom Radio button in ExtJS 3

本文关键字:ExtJS 单选按钮 自定义      更新时间:2023-09-26

我想自定义单选按钮,我需要显示文本框,或日期字段除了单选按钮而不是文本。

有一个类似的问题在extjs中添加自定义项到单选按钮,但答案是extjs 4。有人可以帮助我与ExtJs 3类似的实现吗?

我尝试使用contentEl,但div被附加在无线电输入标签下面,所以不可见。在查看Ext代码后,我尝试重写私有getContentTarget函数,它似乎有效,但感觉不到正确的方法

这是一个基于ExtJs 4答案的解决方案。您可以使用getEl().down('label.x-form-cb-label')代替boxLabelEl,如下所示:

listeners: {
    render: function( radio ) {
        var boxLabelEl = radio.getEl().down('label.x-form-cb-label');
        boxLabelEl.update("");
        radio.field = Ext.create('Ext.form.field.Number', {
            renderTo: boxLabelEl,
            width: 40,
            disabled: !radio.getValue()
        });
        boxLabelEl.setStyle('display','inline-block');
    },
    change: function( radio ) {
        radio.field.setDisabled(!radio.getValue());
    }
}