[英]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.selectNode
或Ext.query('li.LoginUsername')[0]
或任何会给您一个元素的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.