Extreact 6复选框“已选中”值阻止为true

时间:2018-03-20 17:51:30

标签: extjs extreact

使用Extreact玩弄,我的页面上有一个复选框,我想控制它的已检查状态。例如,我想在我的状态中设置选中的值,并且能够检查或取消选中该输入,而无需以用户身份单击它。

问题是CheckboxField只有一个checked道具,指的是初始状态,所以之后就没用了。

1 个答案:

答案 0 :(得分:0)

盒子不可能防止点击改变状态,但是通过覆盖很容易实现。 Fiddle

Ext.define(null, {
    override: 'Ext.field.Checkbox',

    updateReadOnly: function (value, oldValue) {
        this.callParent([value, oldValue]);
        this.inputElement.dom.onclick = value ? function () {
            return false;
        } : null;
    }
})

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.Viewport.add({
            xtype: 'container',
            items: [{
                id: 'foo',
                xtype: 'checkbox',
                readOnly: true
            }, {
                xtype: 'button',
                text: 'On',
                handler: function () {
                    Ext.getCmp('foo').check();
                }
            }, {
                xtype: 'button',
                text: 'Off',
                handler: function () {
                    Ext.getCmp('foo').uncheck();
                }
            }]
        });
    }
});