我正在使用ExtJs 2.3.0.
我有一个panel
,里面有一个radiogroup
,如下所示
var testPanel = {
xtype: 'panel',
border: false,
items: [
{ fieldLabel: 'Please select ',
xtype: 'radiogroup',
id: 'id1',
columns: 2,
vertical: false
}
],
items: [
{ boxLabel: 'Yes', name: 'yes', inputValue: 'Yes', xtype: 'radio'},
{ boxLabel: 'No', name: 'no', inputValue: 'No', xtype: 'radio' }
]
}
问题是 -
fieldLabel'请选择'的radioBox没有显示。我能够看到'是'/'不'radiobuttons。
当我将testPanel的xtype更改为'form'时,会显示标签。 但是,我不能使用'form'xtype。我只想使用'Panel'。
请让我知道为什么fieldLabel没有在面板内进行透析,以及为此做出任何解决方法。
答案 0 :(得分:1)
首先,单个单选按钮必须是无线电组的项目。在这里,您已经在配置对象中复制了items
个键,这意味着您实际上在面板中最终会有2个无线电,但没有无线电组。
然后,简单的面板不支持显示标签。您必须使用form panel。
最后,您可能希望为群组中的所有广播提供相同的name
,以便myForm.getForm().getValues()
返回{myField: "Yes"}
之类的内容(该值将取自inputValue
})。
所以这就是你要做的事情:
Ext.ComponentMgr.create({
xtype: 'form', // notice the changed xtype
renderTo: Ext.getBody(),
border: false,
items: [{
fieldLabel: 'Please select ',
xtype: 'radiogroup',
id: 'id1',
columns: 2,
vertical: false,
// radio buttons must be children of the radio group
items: [{
boxLabel: 'Yes',
// you probably want to give your radios the same name
name: 'myField',
inputValue: 'Yes'
}, {
boxLabel: 'No',
name: 'myField',
inputValue: 'No'
}]
}]
});