javascript - Ext.getCmp ('panel' ) 给出 this.el 为空或不是对象

标签 javascript extjs4 extjs3

我有一个边框布局,我必须在其中展开和折叠东部区域以获得某些 View , 屏幕在开始时工作正常,但是当您单击浏览器的刷新按钮并且如果东部区域折叠时,您会看到东部区域已折叠,根据我的理解,这不应该发生,因为 extJS 代码是从每次刷新时开始,因此刷新后东部区域必须可见。

使东部地区在每次用户点击刷新时扩展 我尝试了以下

    Ext.getCmp('center_panel').add({
        id: 'center_panel_container',
        layout: 'border',
        defaults: {
        'border': true
        },    
        items:[{
           id : 'header_panel',
           layout: 'fit',
           region: 'north',
           height: 30,
           items: [tbar]
        },{
           id: 'master_panel',
           layout: 'fit',
           region: 'center',
           width: '60%',
           bodyStyle:{"background-color":"white"},
           autoScroll: true,
           items: [panelLeft,panelLeftSchd,panelLeftStartUp]
        }, {
           id: 'report_panel',
           layout: 'fit',
           region: 'east',
           width : '40%',
           split:true,
           autoScroll: true,
           items: [panelRight,  panelRightStartUp]
    }]   
 });
        Ext.getCmp('report_panel').expand(true);

但我收到以下错误 this.el is null or not an object

如何在用户每次点击刷新时让东部区域展开

谢谢,

最佳答案

发生这种情况是因为 Ext.getCmp('report_panel') 在您尝试调用其扩展方法时未呈现。这是因为 Ext-JS 有时在布局组件时使用 setTimeout。最简单的解决方案是等待渲染事件并从该处理程序调用扩展

{
       id: 'report_panel',
       layout: 'fit',
       region: 'east',
       width : '40%',
       split:true,
       autoScroll: true,
       items: [panelRight,  panelRightStartUp],
       listeners: {
           render: function(panel) {
              panel.expand()
           }
       }
}

也可以等待父容器的afterlayout事件

关于javascript - Ext.getCmp ('panel' ) 给出 this.el 为空或不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11616907/

相关文章:

javascript - React 中相同样式组件的不同背景图像

javascript - jquery 模板 - 导入文件?

extjs4 - Sencha Architect 2 - 如何编辑代码

html - 规则 CSS 部分应用

Javascript/ExtJS : Ext. getCmp ('' ) 导致 TypeError ...不是一个函数

extjs3 - ExtJS 3.4 - 在我的网格面板加载存储后选择行

javascript - e.preventDefault() 在 100% 的情况下不起作用

javascript - 如何在 Javascript ECMAScript2015 (es6) 中等待整个 Promise 链的完成

layout - extjs 字段布局问题

javascript - 将自定义项目添加到 extjs 中的单选按钮