在 ExtJS 3 中呈现自定义单选按钮
Render custom Radio button in ExtJS 3
我想自定义我需要显示文本框的单选按钮,或者除了单选按钮之外的日期字段而不是文本。
有一个类似的问题Add custom item to radio button in 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());
}
}
这应该适用于 ExtJs 3。
我想自定义我需要显示文本框的单选按钮,或者除了单选按钮之外的日期字段而不是文本。
有一个类似的问题Add custom item to radio button in 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());
}
}
这应该适用于 ExtJs 3。