Как добавить компонент «скрытый», а затем вставить его? - PullRequest
1 голос
/ 10 ноября 2011

Я хочу сделать в основном следующее - добавить панель на родительскую панель, но эта дочерняя панель должна быть сначала скрыта, а реклама - нет.Затем, после создания макета (и, следовательно, getEl () доступен), я хочу вызвать метод slideIn.

Проблема в том, что я не знаю, как именно он должен быть скрыт.Я пытался скрыть панель в событии beforeLayout, а затем показать ее сразу после начала slideIn, но это не работает, как ожидалось.

Я также пытался добавить некоторые свойства CSS (отображение: нет или видимость: скрытый), а затем удалить их, но это также не сработало правильно.

UPD: код, проясняющий мою проблему:

var panel = new Ext.panel.Panel({
   title: "child",
   layout: "fit",
   beforeLayout: function() {
      //here we are trying to hide the panel
      panel.getEl().addCls("somehiddenclass"); //actually display:none
   } 
})

parent_panel.add(panel);
panel.slideIn("l");
panel.getEl().removeCls("somehiddenclass");

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Можно ли просто инициализировать панель с помощью hidden: true, а затем вызвать функцию slideIn после создания элемента управления?

0 голосов
/ 11 ноября 2011

Другое решение может заключаться в том, чтобы заключить вашу панель в простой элемент div или намного проще управлять элементом управления Ext.Container и соответственно устанавливать его стиль.

...