В нашем приложении есть вкладка, в которой мы добавляем/удаляем панель динамически.Вызывается метод doLayout() a после добавления дочернего элемента к родительскому?
Панели добавляются нажатием пункта меню с помощью следующего кода в обработчике меню:
Ext.getCmp('mainTabPanelId').add(getPanel());
getPanel()
Здесь метод возвращает панель после его создания.
Предполагая, что идентификатор главной вкладки панели mainTabPanelId
и в детской панели panelId, в этом контексте, может кто-нибудь руководство по следующему:
- Нужно позвонить
doLayout()
наmainTabPanel
после добавить метод? - Следует ли вызывать
doLayout()
наmainTabPane
л или на недавно добавленной дочерней панели, то естьExt.getCmp('mainTabId').doLayout()
илиExt.getCmp('panelId').doLayout()
? - Позвоните по телефону
doLayout()
по всем вопросам, связанным с рендерингом, например, с прокрутками. - Метод
getPanel()
должен возвращать уже созданную панель (используяExt.create
) или должен ли она вернуть объект конфигурации (сxtype:'panel'
)? Какой из них должен быть предпочтительнее для лучшей производительности, учитывая время?
Спасибо за сообщение o_nix. К сожалению, если мы не вызываем doLayout(), тогда макет выглядит сломанным, но как только будет сделан вызов doLayout(), все исправления (например, появление полосы прокрутки и т. Д.) Будут исправлены. Мы тестировали это во многих браузерах и обнаружили, что вызов doLayout() является обязательным после динамического добавления. – netemp