Ext JS 4.2.1 - renderTo вызывает ошибку

Я создал пользовательский компонент с XTemplate следующим образом:

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, хотя Ext.create с конфигурацией renderTo выдает следующую ошибку:

Uncaught TypeError: Cannot call method 'createRange' of undefined 

если вам нужна дополнительная информация, например, стека вызовов или что-то.. не стесняйтесь спрашивать..

1 ответ

Решение

Ext.query возвращает массив, который, вероятно, не то, что renderTo ожидает.

использование Ext.dom.Query.selectNode вместо или Ext.query('li.LoginUsername')[0]или что-нибудь, что даст вам один элемент.

Другие вопросы по тегам