Sencha Touch: Panel.hide () / show () работает только после изменения размера - PullRequest
0 голосов
/ 31 мая 2011

Вот демонстрационное приложение: демо Sencha Touch app .Кнопка в левом нижнем углу должна показывать / скрывать панель меню в верхней части панели «Информация о местоположении идет здесь», однако она работает странным образом.

Вот как (IMO) она должна работать:

  1. Я нажимаю кнопку
  2. Появляется панель

Вот как это работает сейчас:

  1. Я нажимаюкнопка
  2. Ничего не происходит
  3. Я изменяю размер окна или нажимаю F11 (который тоже изменяет размер в любом случае)
  4. Появляется панель

Итак,Может кто-нибудь объяснить, почему это происходит и как я могу решить мою проблему?Thx.

Ответы [ 3 ]

4 голосов
/ 01 июня 2011

Я нашел способ обойти это.Вот оно:

app.viewport.dockedItems.items[0].rendered = false;
app.viewport.doComponentLayout();

Итак, проблема решена.

1 голос
/ 01 июня 2011

Я не знаю точно, что делает ваш код, но вам нужно сделать на панели doLayout или doComponentLayout вызов, чтобы обновить элементы при добавлении или удалении компонентов.

Событие изменения размера, которое происходит при изменении окна браузера, выполняет этот вызов, что, вероятно, является причиной, по которой вы наблюдаете такое поведение.

0 голосов
/ 22 марта 2012

Я разместил здесь ответ, который может быть полезен для решения этой проблемы.

http://www.sencha.com/forum/showthread.php?141705-Show-Hide-Toolbar-docked-panel-briefly-renders-incorrectly&p=762261&viewfull=1#post762261

...