我將一個大型應用程序從v2升級到v3.4Ext JS 3.4懶惰渲染手風琴 - 強制渲染面板
我有一個n> 1面板的手風琴。默認情況下,第一個擴展,其他所有不是。與現在使用Ext 3.4的Ext JS 2相反,面板只有在首先展開後纔會呈現。這會導致多個問題,因爲一些代碼路徑要求元素已經在DOM中。
deferredRender
對手風琴沒有任何影響,它只是用於製表符。
我的嘗試:遍歷所有項目,並呼籲setActiveItem
或setActive
但這只是導致實際呈現的最後一個面板,所有其他的都還沒有的DOM裏面(我想激活元素是異步,即使animate
是false
)。
我怎麼能告訴手風琴渲染所有的面板,即使它們最初都是崩潰的?
您的演示顯示了與我觀察不同的行爲,所以也許還有其他一些腳本與我的手風琴混淆了。我將無法在12月20日之前檢查,但我肯定會回答/投票。 – Prinzhorn
那麼爲什麼你的小提琴中的面板會立即渲染到DOM而我的渲染不是?退房15.3。在http://www.sencha.com/forum/showthread.php?70352-Upgrading-to-Ext-3 – Prinzhorn
我的例子顯示完全相反的行爲。看看源代碼。 AccordionLayout.onLayout調用ContainerLayout.renderAll方法,正如名稱所述,該方法呈現所有組件。我沒有看到任何延遲渲染相關的代碼,期望與'TabPanel'中使用的'CardLayout'有關。爲了避免這種情況,您可以將'Ext.TabPanel.prototype.deferredRender'設置爲'false'。如果你仍然面臨這個問題,試着重現例如jsfiddle,所以我可以看看它。 – Krzysztof