今天遇到了这个问题,觉得很奇怪。在网上查找了很长时间基本上都是一样的文章转来转去,但是经过测试还是不能用,至少在Extjs4以后不好用。
抱着试试的心态在google里英文一下标题,总算找到了可以用的解决方案
{ xtype: 'radiogroup', fieldLabel: '场地停车', name: 'parking',//这里需要填写和radiofield一样的名字 items: [ { xtype: 'radiofield', width: 60, boxLabel: '提供', inputValue: true,//这里的值要和json中的值类型一致 checked: true, name: 'parking' }, { xtype: 'radiofield', boxLabel: '不提供', inputValue: false, name: 'parking' } ],
//这里是额外添加的 setValue: function (value) { if (!Ext.isObject(value)) { var obj = new Object(); obj[this.name] = value; value = obj; } Ext.form.RadioGroup.prototype.setValue.call(this, value); } }
上述代码已经过测试正常可用。只保证Extjs4.0以上有效果。
附上原文地址
http://stackoverflow.com/questions/9942493/how-to-set-radiogroup-radiofield-based-on-the-json-data-extjs-4?rq=1
http://www.sencha.com/forum/showthread.php?187185-Set-a-int-value-on-a-radiogroup-fails&p=759988#post759988