我嘗試過像render
和afterrender
這樣的事件,但不知何故,它們都在創建從renderer()
和defaultRenderer()
的DOM元素之前拍攝。列DOM已被渲染後是否觸發了任何列事件?
Ext.define('MyApp.column.MyColumn', {
extend: 'Ext.grid.column.Column',
constructor: function() {
this.callParent(arguments);
this.on('afterrender', function() {
var oDomElement = Ext.get('MyColumn.MyApp.model.Record-0-ext-record-22');
console.log('DOM-Element: ', oDomElement);
});
},
defaultRenderer: function(d, m, oRecord) {
return '<div id="MyColumn.' + oRecord.id + '" />';
}
});
當我事後檢查DOM,與MyColumn.MyApp.model.Record-0-ext-record-22
存在ID的元素,但是oDomElement
當afterrender
火災送花兒給人空。
你確定'MyColumn.MyApp.model.Record-0-ext-record-22'是實際的DOM ID嗎?如在Firebug/Developer工具中看到的那樣? – Izhaki
是的,我也手動生成了一些ID以保證安全,但即使我有'MyColumn-'這樣的東西,我也沒有任何元素。 –