是否在渲染了列-DOM后触发了任何列事件?

时间:2012-11-27 15:46:27

标签: extjs extjs4

我尝试了renderafterrender之类的活动,但不知怎的,他们都是在创建renderer()defaultRenderer()的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时,ID MyColumn.MyApp.model.Record-0-ext-record-22的元素存在,但oDomElement触发时afterrender总是空的。

1 个答案:

答案 0 :(得分:1)

afterrender的{​​{1}}事件将在呈现后发生。但这与说法不同 - 当你渲染每一条记录时,这将触发Ext.grid.column.Column

换句话说,首先渲染网格,然后加载存储,每个记录都被“渲染”。