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

Posted 代码很疯狂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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时是否可行。



以上是关于ExtJs radiogroup form.loadRecord方法无法赋值正确解决办法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 extjs 4.2 更改 radiogroup 检查值的样式?

extjs radioGroup怎么取选中的值?怎么设置值选中

如何在Extjs 4中使用自定义检查或选中的radiogroup事件

在 ExtJs 4 中覆盖侦听器

如何使用 extjs 4 获取无线电组检查值?

extjs 3.4 如何动态添加复选框到工具栏