Я переношу приложение с ExtJS 3.x на v4, и теперь у меня возникли проблемы с TabPanel, когда свойство «autoHeight» было удалено. Я знаю, что если вы явно не определяете высоту панели, предполагается, что это «автоматическая высота», но это верно только до некоторой степени.
В ExtJS4 панель вкладок без установленной высоты по-прежнему будет иметь встроенные значения высоты css, установленные на панели вкладок, содержащих элементы div, и эти высоты рассчитываются на основе начальной высоты содержимого каждого элемента вкладки. И да, если вы обновите высоту любых дочерних компонентов элементов вкладки, высота вкладки будет пересчитана, чтобы соответствовать ей, или если вкладка содержит необработанный HTML, а метод вкладки update() используется для изменения этого содержимого, его высота снова будет отрегулирована по размеру.
В любом случае проблема в моем приложении заключается в том, что я обновляю необработанный HTML-контент этих вкладок, используя методы, отличные от тех, что используются в среде ExtJS, такие как jQuery.html(). Поскольку панель вкладок не уведомляется об этом изменении содержимого, она не пересчитывает значение высоты вкладки.
Чтобы обойти это, все, что я хочу сделать, это убедиться, что элементы панели вкладок, содержащие элементы, всегда имеют значение height:auto при рендеринге, повторном рендеринге или чем-либо еще. Я предполагаю, что для этого мне нужно будет расширить TabPanel, но я не знаю, с чего начать, какие методы переопределять и т. Д. Есть предположения?
height: 'auto'
? - person user123444555621   schedule 29.11.2011