0

我在 ExtJs 工具栏中有四个按钮,这个按钮代码如下所示

MyToolbarUi = Ext.extend(Ext.Toolbar, {
    buttonAlign: 'right',
    width: 813,
    height: 32,
    id: 'toolbar',
    initComponent: function() {
        this.items = [
            {
                xtype: 'buttongroup',
                title: '',
                columns: 2,
                width: 250,
                layout: 'column',
                baseCls: ' ',
                id: 'buttongroup',
                items: [
                    {
                        xtype: 'button',
                        text: ' B1',
                        width: 50,
                        ref: '../b1',
                        id: 'b1_id'
                    },
                    {
                        xtype: 'button',
                        text: 'B2',
                        width: 50,
                        ref: '../b2',
                        id: 'b2_id'
                    },
                    {
                        xtype: 'button',
                        text: 'B3',
                        width: 50,
                        ref: '../b3',
                        id: 'b3_id'
                    },
                    {
                        xtype: 'button',
                        text: 'B4',
                        width: 50,
                        ref: '../b4',
                        id: 'b4_id'
                    }
                ]
            }
        ];
        MyToolbarUi.superclass.initComponent.call(this);
    }
});

在上面的代码中,我有 4 个按钮调用 b1、b2、b3 和 b4 现在我尝试以编程方式隐藏 b4 波纹管代码

第一次尝试:this.b4.hidden = true;

第二次尝试:var btn= Ext.getCmp('b4_id'); btn.setVisible(false);

以上两种方式都隐藏了所有 4 个按钮。如何以编程方式仅隐藏 B4 按钮?请解释我上面隐藏的两种方式有什么问题?

4

1 回答 1

0

尝试使用 Ext.get,一旦我遇到同样的问题,我通过将 Ext.getCmp 替换为 Ext.get 来解决

尝试

 btn= Ext.get('b4_id'); 
 btn.setVisible(false); 

or 

btn.hide();

如果您最初想隐藏,请使用如下配置。

hidden: true

谢谢

于 2013-07-23T06:49:15.750 回答