2016-04-20 3 views
0

У меня на моей странице несколько панелей, созданных динамически относительно типа данных, которые должны быть представлены.
Я хотел бы добавить флажок в строку заголовка конкретной панели. Я выделяю эту панель, его свойства (как это имя \ название и сосчитать поля) .Затем добавить флажок так:ExtJs - Dynamic Ext.panel.Panel на одной странице

newPanel.header.items = [ 
    { 
     xtype: 'checkbox', 
     boxLabel: 'some text' 
    } 
]; 

Но по какой-то причине, этот флажок является оказание всех панелей на странице.
Я уверен, что приведенный выше код происходит только один раз - я поставил предупреждение, чтобы проверить это. Могу ли я его избежать и установить флажок только на одной конкретной панели? Может ли кто-нибудь указать, почему флажок установлен во всех моих динамических панелях?

ответ

0

Вы должны использовать метод «добавить» или метод «setItems» родительского контейнера (ваш заголовок контейнера я полагаю), то есть:

var myPanel = Ext.create('Ext.panel.Panel'); 

var myHeader = Ext.create('Ext.container.Container'); 

myPanel.add(myHeader); 

myHeader.add({xtype: 'checkbox'}); 
+0

Добавление флажка в мой контейнер поместит его в заголовок моего контейнера, не так ли? – Inbal

+0

Верхний и нижний колонтитулы являются частью панели (панель представляет собой контейнер с большим количеством функций). подробнее здесь: http://docs.sencha.com/extjs/6.0/6.0.2-classic/#!/api/Ext.panel.Panel –

+0

Я добавляю флажок в заголовок панели. есть еще две панели ниже, но флажок помещается туда два. Это потому, что все они находятся под одним и тем же контейнером? Существует ли общий заголовок между некоторыми панелями? – Inbal

0

Попробуйте ниже код

newPanel.getHeader().add({ 
    xtype: 'checkbox', 
    boxLabel: 'Some Text' 
}); 

Здесь это Fiddle для справки.

Смежные вопросы