一、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时是否可行。
ExtJs radiogroup form.loadRecord方法无法赋值正确解决办法
原文地址:https://www.cnblogs.com/icyhoo/p/8327504.html