ExtJs radiogroup form.loadRecord方法无法赋值正确解决办法

一、radiogroup的name和radio的name一致,inputValue为整形
{ xtype:
'radiogroup', fieldLabel: '是否有效', name: 'status', items: [ { name: 'status', boxLabel: '有效', inputValue: 1, checked: true }, { name: 'status', boxLabel: '无效', inputValue: 0 } ] } 二、radio无name,inputValue为整形 { xtype: 'radiogroup', fieldLabel: '是否有效', name: 'status', items: [ { boxLabel: '有效', inputValue: 1, checked: true }, { boxLabel: '无效', inputValue: 0 } ] }
三、radio无name一致,inputValue为字符串 { xtype:
'radiogroup', fieldLabel: '是否有效', name: 'status', items: [ { boxLabel: '有效', inputValue: '1', checked: true }, { boxLabel: '无效', inputValue: '0' } ] } 四、radiogroup的name和radio的name一致,inputValue为字符串 { xtype: 'radiogroup', fieldLabel: '是否有效', name: 'status', items: [ { name: 'status', boxLabel: '有效', inputValue: '1', checked: true }, { name: 'status', boxLabel: '无效', inputValue: '0' } ] }

以上四种情况,无论在 form.loadRecord(record);时,record.data.status为字符串类型还是int型,均无法正确赋值,radio无法根据值选择状态;

经过测试,以下方式可以正确赋值,且状态会正常切换;

{
    xtype: 'radiogroup',
    fieldLabel: '是否有效',
    items: [
        { name: 'status', boxLabel: '有效', inputValue: 1, checked: true },
        { name: 'status', boxLabel: '无效', inputValue: 0 }
    ]
}

这种情况下直接form.loadRecord(record);,record.data.status为int类型; 因为效果已达预期,所以未测试record.data.status为string时是否可行。

原文地址:https://www.cnblogs.com/icyhoo/p/8327504.html