Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   как обратиться к items элемента из другого элемента и изменить его? (https://javascript.ru/forum/extjs/35375-kak-obratitsya-k-items-ehlementa-iz-drugogo-ehlementa-i-izmenit-ego.html)

Krepkii 09.02.2013 01:25

как обратиться к items элемента из другого элемента и изменить его?
 
как обратиться к items элемента из другого элемента и изменить его?
Вот, например, у меня есть такой каркас:
Ext.apply(this, {
            id: 'app-viewport',
            layout: {
                type: 'border'
            },
            items: [
			 
			{
                id: 'app-header',
                xtype: 'toolbar',
                region: 'north',
				items:[
				
				{
					xtype: 'button',
					text: '1',
                                        handler: function(){
                                        //1
}
				},
				{
					xtype: 'button',
					text: '2'
				},
				{
					xtype: 'button',
					text: '3'
				},
				{
					xtype: 'button',
					text: '4'
				}]
				}]
				
               },{
                xtype: 'container',
                region: 'center',
                layout: 'border',
                items: [{
                    id: 'app-portal',
                    xtype: 'portalpanel',
                    region: 'center',
                    items: [{
                        id: 'col-1',
                        items: [{                        //2
                            id: 'portlet-1',
                            title: 'Grid Portlet',
                            tools: this.getTools('portlet-1'),
                            items: Ext.create('Ext.app.GridPortlet'),
							width: 400,
                            listeners: {
                                'close': Ext.bind(this.onPortletClose, this)
                            }
                        },
        {
                            id: 'portlet-2',
							width: 500,
                            title: 'Portlet 2',
                            tools: this.getTools('portlet-2'),
                            html: content,
                            listeners: {
                                'close': Ext.bind(this.onPortletClose, this)
                            }
                        },{
                            id: 'portlet-5',
                            title: 'Portlet 5',
                            tools: this.getTools('portlet-5'),
                            html: content,
							height: 200,
                            listeners: {
                                'close': Ext.bind(this.onPortletClose, this)
                            }
                        }]
                    },{
                        id: 'col-2',
                        items: [{
                            id: 'portlet-3',
                            title: 'Portlet 3',
                            tools: this.getTools('portlet-3'),
                            html: '<div class="portlet-content">'+Ext.example.bogusMarkup+'</div>',
                            listeners: {
                                'close': Ext.bind(this.onPortletClose, this)
                            }
                        },
						{
                            id: 'portlet-4',
                            title: 'Stock Portlet',
                            tools: this.getTools('portlet-4'),
                            items: Ext.create('Ext.app.ChartPortlet'),
                            listeners: {
                                'close': Ext.bind(this.onPortletClose, this)
                            }
                        }]
                    }]
                    
                }
				
				]
            }]
        });


Необходимо по щелчку на кнопку (1) изменить динамически items (2). В общем реализовать рабочие столы.

br102 11.02.2013 21:24

Ext.getCmp('portlet-1') - не подходит?

VKS 12.02.2013 14:53

component.items.get(item.index), а вообще какая версия ExtJS?


Часовой пояс GMT +3, время: 08:03.