一.问题:
ExtJS4使用border布局,左边为accordion布局的功能导航菜单,发现当导航菜单面板收缩展开时,右边选项卡面板(TabPanel)中的grid等面板宽度并没有自动变化。
二.解决方案:
1.在新增选项卡中配置一个自定义属性sidebarChange,默认值为false,用于保存左边导航菜单是否发生展开收缩动作。
2.在新增的选项卡中添加activate监听事件,当选项卡被激活且sidebarChange属性值为true时,则通过tab.loader.load()重新加载选项卡内容。
3.在左边功能导航面板中配置相应的展开和收缩事件的监听。及相应的处理方法。
这样,当左边功能导航面板收缩或展开时,当前的选项卡会重新加载。
4.至此,当左边导航面板收缩或展开时,就解决了gridpanel宽度不跟着自动变化问题。