简体   繁体   English

Ext JS 4.2.1-renderTo导致错误

[英]Ext JS 4.2.1 - renderTo causes error

I created a custom component with an XTemplate like this: 我使用如下XTemplate创建了一个自定义组件:

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

initLayout: function() {
    var me = this;
    var mainTpl = this.getTemplate();
    Ext.apply(me, { html: mainTpl.apply() });
},

in my template i got some placeholders where i want to render some textfields... so i tried to accomplish this in an eventhandler like that: 在我的模板中,我有一些占位符,我想在其中渲染一些文本字段...所以我试图在这样的事件处理程序中实现这一点:

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

my Ext.query function does find the correct DOM Element, though the Ext.create with the renderTo config does throw the following Error: 我的Ext.query函数确实找到了正确的DOM元素,尽管具有renderTo配置的Ext.create确实引发了以下错误:

Uncaught TypeError: Cannot call method 'createRange' of undefined 

if you need any further information like a callstack or something.. dont hesitate to ask.. 如果您需要任何其他信息,例如调用堆栈或其他信息,请不要犹豫。

Ext.query returns an array, which is probably not what renderTo is expecting. Ext.query返回一个数组,这可能不是renderTo所期望的。

Use Ext.dom.Query.selectNode instead, or Ext.query('li.LoginUsername')[0] , or anything that will give you a single element. 改用Ext.dom.Query.selectNodeExt.query('li.LoginUsername')[0]或任何会给您一个元素的东西。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM