2013-09-30 33 views
1

我创建了一个自定义组件,像这样的XTemplate:的Ext JS 4.2.1 - renderTo导致错误

initComponent: function() {   
    this.initLayout(); 
    this.callParent(); 
}, 

initLayout: function() { 
    var me = this; 
    var mainTpl = this.getTemplate(); 
    Ext.apply(me, { html: mainTpl.apply() }); 
}, 
在我的模板

我得到了一些占位符,在这里我想呈现一些文本框... 所以我试图这样的事件处理程序来实现:

listeners: {  
    render: function() { 
     var usrPlaceHolder = Ext.query('li.LoginUsername'); 
     if (usrPlaceHolder) { 
      Ext.create('Ext.form.field.Text', { 
       renderTo: usrPlaceHolder 
      }); 
     } 
    } 
} 

我Ext.query功能无法找到正确的DOM元素,虽然与renderTo配置并引发以下错误Ext.create:

Uncaught TypeError: Cannot call method 'createRange' of undefined 

,如果你需要像调用堆栈或东西..不要犹豫问任何进一步的信息..

回答

1

Ext.query返回一个数组,这可能不是什么renderTo期待。

改为使用Ext.dom.Query.selectNodeExt.query('li.LoginUsername')[0],或任何会给你一个单一的元素。

+0

哦,我得到了 - 以为这是愚蠢的,我不认识:D thx! – JuHwon