Ext JS Border layout: как программно свернуть регион? - PullRequest
2 голосов
/ 11 мая 2011

У меня есть панель с «окантовкой», имеющая «центр» и «север» региона. Я хочу программно свернуть северный регион, и, согласно форуму, способ сделать это:

container.layout.north.collapse();

Однако container.layout является строковым объектом, поэтому container.layout.north дает мне нулевой объект.

У кого-нибудь есть 2-секундный указатель на то, как получить дескриптор правильного объекта макета для вызова collapse () при этом?

Ответы [ 3 ]

1 голос
/ 24 октября 2011

В Extjs 4 вы можете сделать:

panel.getLayout().regions.north.collapse();

Затем для реактивации региона:

panel.getLayout().regions.north.expand();
1 голос
/ 24 октября 2011

Используя Ext JS 4, вы можете:

container.down('[region=north]').collapse(); 

Это самый простой и рекомендуемый способ.

1 голос
/ 11 мая 2011

Самый дешевый способ - получить нужную панель, позвонив по номеру Ext.getCmp().Для вас container.layout не определено, потому что это не объект Ext.Component.Установите Id для вашей панели границы или любой панели, к которой вам нужен доступ.

 var panel = Ext.getCmp('BorderPanelId');
 panel.layout.north.collapse();

Другой способ - использовать идентификатор северной панели.В этом случае вы:

 var panel = Ext.getCmp('NorthPanelId');
 panel.collapse();

Другим способом будет создание пользователя системы ref.Установите свойство ref для ваших панелей.И если у вас есть доступ к владельцу компонента ... вы можете просто использовать ссылку для ссылки на панель или другие компоненты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...