Javascript 运行渲染器后,将extjs组件渲染到网格列中

Javascript 运行渲染器后,将extjs组件渲染到网格列中,javascript,templates,extjs,extjs4,render,Javascript,Templates,Extjs,Extjs4,Render,我有一个自定义渲染器。像这样 grid.healthCheckColumn = Ext.create('Ext.grid.column.Column', { id: 'healthCheckColumn', header: 'Health Check', renderer: Ext.bind(me.renderHealthCheckColumn, me) }); 此渲染器返回一个带有类“health check button”的div,该类渲染良好。这是我的问题 渲染器

我有一个自定义渲染器。像这样

grid.healthCheckColumn = Ext.create('Ext.grid.column.Column', {
    id: 'healthCheckColumn',
    header: 'Health Check',
    renderer: Ext.bind(me.renderHealthCheckColumn, me)
});
此渲染器返回一个带有类“health check button”的div,该类渲染良好。这是我的问题

渲染器使用div填充网格单元后,我希望触发一个事件,该事件将允许我将ExtJS组件渲染到该div。下面是我要渲染的组件:

var button = Ext.create('Ext.button.Button', {
    ui: 'plain',
    disable: val,
    text: 'Analyze',
    renderTo: div_element
});
这不起作用的原因是,ExtJS组件只能渲染到DOM中已经存在的元素,而该元素在渲染器运行之后才会存在

显然,我可以在渲染器中调用Ext.defer(),以便在超时后触发事件,但这似乎有点草率。这里提出了(类似问题的)解决方案:

我试图弄清楚事件发生的顺序,以及顺序,但这并没有被记录下来,我无法理解ExtJS源代码
beforerender
render
afterrender
在渲染器运行之前都会触发,这没有帮助

有什么建议吗?我正在运行ExtJS 4.3。

建议采用“黑客”方式,原因见您链接的文章(单个单元格根本没有触发事件,因为它本身没有组件)。