首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在窗体中设置值时未选择单选按钮

在窗体中设置值时未选择单选按钮
EN

Stack Overflow用户
提问于 2017-06-10 20:46:21
回答 1查看 153关注 0票数 0

我有一些包含单放组的ExtJS表单。

并且这些radioGroups中的每一个都有2个具有作为truefalseinputValue的无线电。

但是当我使用form.setValues(values)设置表单值时,如果我想要设置的radioButton值是false,则不会选择相应的单选按钮。在我的值为true的情况下,这是有效的。

这是fiddle的链接

如果您更改了booleanRadio: true,这将起作用。

我的代码:

代码语言:javascript
复制
Ext.define('myView', {
    extend: 'Ext.panel.Panel',
    xtype: 'myView',
    id: 'myViewContainer',
    layout: 'vbox',
    width: '100%',
    initComponent: function() {
        var me = this;
        var allItems = [];
        allItems.push(me.getMyForm());
        Ext.applyIf(me, {
            items: allItems
        });
        me.callParent(arguments);
    },

    getMyForm: function() {
        var me = this;
        var currentForm = {
            xtype: 'form',
            cls: 'y-form',
            id: 'myForm',
            trackResetOnLoad: true,
            items: [
                {
                    xtype: 'radiogroup',
                    fieldLabel: 'is Sponsored',
                    labelSeparator: '',
                    layout: 'hbox',
                    items: [
                        {
                            xtype: 'radiofield',
                            name: 'isSponsored',
                            boxLabel: 'Yes',
                            inputValue: true
                        },
                        {
                            xtype: 'radiofield',
                            name: 'isSponsored',
                            boxLabel: 'No',
                            inputValue: false
                        }
                    ]
                }
            ]
        };

        return currentForm;
    }
});

Ext.define('myController', {
    extend: 'Ext.app.Controller',
    init: function() {
        this.control({
            'panel#myViewContainer': {
                afterrender: this.retrieveFormValues
            }
        });
    },

    retrieveFormValues: function() {
        var me = this;
        var data = {isSponsored: false};
        if (data != null && !Ext.Object.isEmpty(data)) {
            var myFormContainer = Ext.getCmp('myViewContainer');
            myFormContainer.getForm().setValues(data);
        }
    }
});
EN

回答 1

Stack Overflow用户

发布于 2017-06-12 15:33:01

如果将单选按钮的inputValues更改为0或1,并相应地调整值var,则将设置所需的单选按钮。我已经更新了小提琴。

代码语言:javascript
复制
items: [{
    boxLabel: 'Item 1',
    name: 'booleanRadio',
    inputValue: 1,
  }, {
    boxLabel: 'Item 2',
    name: 'booleanRadio',
    inputValue: 0,
  }],
  listeners: {
    afterrender: function(radioGroupForm) {

      var values = {
        booleanRadio: 0
      }
      Ext.getCmp('radioGroupFormPanel').getForm().setValues(values);
    }
  }

如果您发送false到radiobutton,它将取消选中无线电。这就是为什么你的'true‘是有效的,而'false’不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44473458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档