Html 在渲染器之后激发或调用Ext js事件
我有一个使用渲染器功能的网格列。在此之后是否触发或调用了任何事件?我已经尝试了几个,但它们都会在整个列上被调用,并且都会在渲染器之前触发(甚至在事件后渲染)Html 在渲染器之后激发或调用Ext js事件,html,extjs,render,Html,Extjs,Render,我有一个使用渲染器功能的网格列。在此之后是否触发或调用了任何事件?我已经尝试了几个,但它们都会在整个列上被调用,并且都会在渲染器之前触发(甚至在事件后渲染) “提前感谢”afterrender仅在列放置在页面上时触发一次。这是一个基本的ExtJS组件事件,几乎所有ExtJS组件都有,但与用于网格列的渲染器函数无关 不完全确定你这么做是为了什么。。。但是,如果我想在执行渲染器函数时触发一个事件,我会从渲染器函数本身触发一个自定义事件。大概是这样的: Ext.create('Ext.grid.Pan
“提前感谢”
afterrender
仅在列放置在页面上时触发一次。这是一个基本的ExtJS组件事件,几乎所有ExtJS组件都有,但与用于网格列的渲染器函数无关
不完全确定你这么做是为了什么。。。但是,如果我想在执行渲染器函数时触发一个事件,我会从渲染器函数本身触发一个自定义事件。大概是这样的:
Ext.create('Ext.grid.Panel', {
title: 'After Renderer Event Demo',
store: Ext.getStore('DummyData'),
columns: [{
text: 'Column 1',
dataIndex:'aNumber',
// dummy renderer function that fires an event after execution
renderer: function(value) {
// wrapping in a deferred function so that it fires AFTER
Ext.defer(function() {
this.fireEventArgs('aftercolumnrenderer', arguments);
}, 10);
if (value === 1) {
return '1 person';
}
return value + ' people';
}
}, {
text: 'Column 2',
dataIndex:'aString'
}],
width: 400,
forceFit: true,
renderTo: Ext.getBody()
});
我可以通过以下方式直接收听:
myColumn.on('aftercolumnrenderer', function(value, metaData, record, rowIndex, colIndex, store, view) {
// do stuff
});
或者,如果您使用的是ExtJS MVC,则可以从控制器的函数中执行
另请参见和以获取参考