0

我有一个带有项目的窗口,其中包括 2 个项目,例如

var win = Ext.create('Ext.window.Window', {
        title: 'Hello',
        height: 200,
        width: 400,
        layout: 'fit',
        items: {  
            xtype: 'form',
            border: false,
            hidden: true,
            items: [{
                xtype: 'textfield',
                fieldLabel: '1'
            },{
                xtype: 'textfield',
                fieldLabel: '2'
            }]
        }
    }).show();

我做了一个按钮,我想fieldLabel : '1'在我的窗口中显示/隐藏第一个项目(),比如

 Ext.create('Ext.Button', {
        text: 'Show first item',
        visible: false,
        renderTo: Ext.getBody(),
        handler: function() {
            win.down('form').items.items[0].show(); // not working
        }
    });

但这行不通。怎么解决 谢谢

ps:我不想使用 id 来获取 comp,b/c 我的表单是动态的,谢谢
这里是我的完整代码http://jsfiddle.net/aMKjN/

4

2 回答 2

0

试试这个它只会显示文本字段1

  Ext.onReady(function () {

   var win = Ext.create('Ext.window.Window', {
        title: 'Hello',
        height: 200,
        width: 400,
        layout: 'fit',
        items: {  
            xtype: 'form',
            border: false,
//            hidden: true,
            items: [{

                xtype: 'textfield',
                id:'first',
                 hidden: true,
                fieldLabel: '1'
            },{
                xtype: 'textfield',
                fieldLabel: '2'
            }]
        }
    }).show();

    Ext.create('Ext.Button', {
        text: 'Show first item',
        visible: false,
        renderTo: Ext.getBody(),
        handler: function() {            
          Ext.getCmp('first').setVisible(true)
        }
    });
});
于 2013-08-07T13:32:42.863 回答
0

尝试这个。它只会显示第一个textfield

Ext.create('Ext.Button', {

    text: 'Show first item',

    visible: false,

    renderTo: Ext.getBody(),

    handler: function() {

        win.items.items[0].show();
        win.items.items[0].items.items[1].hide();
    }
});
于 2013-08-07T11:42:58.877 回答