У меня проблема при использовании Ext.define - PullRequest
0 голосов
/ 11 сентября 2011

Я получаю ошибку:

events is null or not a object

Кто-нибудь знает, в чем может быть проблема?

Ext.onReady(function() {
    Ext.define("com.yx.DflCombo", {
        extend: "Ext.form.field.ComboBox",
        config: {
            name: "dfl",
            fieldLabel: "category"
        },
        constructor: function(config) {
            this.initConfig(config);
            return this;
        }
    });
    Ext.create('Ext.form.Panel', {
        renderTo: Ext.getBody(),
        title: 'Simple Form',
        bodyPadding: 5,
        width: 350,
        items: [Ext.create("com.yx.DflCombo",{})]
    });
});

Спасибо, Molecule Man! Я пытаюсь провести еще один такой тест.

Ext.define("com.yx.MyPanel", {
extend: "Ext.panel.Panel",
config: {
title: "Clannad"
},
constructor: function(config) {
this.initConfig(config);
this.callParent([config]);
}
});
Ext.create("Ext.panel.Panel", {
renderTo: Ext.getBody(),
width: 400,
height: 400,
title: "Key",
items: [Ext.create("com.yx.MyPanel", {})]
});

И я получаю ошибку: dockedItems является нулем или не объектом! Я просто хочу знать, когда я определяю класс, расширяющий класс EXTJS, что мне делать?

1 Ответ

0 голосов
/ 11 сентября 2011

В вашем коде есть две ошибки:

  1. Вы не вызываете метод callParent в своем конструкторе.Это требуется при расширении существующего класса:

    constructor: function(config) {
      this.initConfig(config);
      this.callParent([config]);
    }
    
  2. Конфигурация store должна быть указана в конфигурации combobox ':

    items: [Ext.create("com.yx.DflCombo",{
      store: ['item1', 'item2', 'item3']
    })]
    

Вот демо .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...