2012-03-20 2 views
0

У меня возникли проблемы с регистрацией xtypes в ExtJS 3.3.1.Регистр xtype ExtJS

Я хотел бы создать комбинированное поле с двумя строковыми полями, но будет показано только одно.

Некоторая помощь была бы приятной, поскольку я боролся с ней в течение некоторого времени, и у меня нет понятия, что может быть неправильно. Это мой код:

Ext.myApp.StringDouble = Ext.extend(Ext.form.CompositeField, { 
    separator: '-', 
    unitOptions: {}, 
    values: ['first', 'second'], 
    bothRequired: false, 

    init: function() { 
     this.items = []; 
     var unitConf = { 
     }; 

     Ext.apply(unitConf, this.unitOptions); 
     this.items.push(new Ext.form.TextField(Ext.apply({ 
      name: this.values[0] + '.' + this.name,   
      fieldLabel: this.fieldLabel + ' ' + this.values[0], 
       value: this.value && this.value[this.values[0]] 
     }, unitConf))); 

     this.items.push(new Ext.form.DisplayField({ 
      value: this.separator 
     })); 

     this.items.push(new Ext.form.TextField(Ext.apply({ 
      name: this.values[1] + '.' + this.name,   
      fieldLabel: this.fieldLabel + ' ' + this.values[1], 
      value: this.value && this.value[this.values[1]] 
    }, unitConf))); 

}, 

initComponent : function() { 
    this.init(); 
    Ext.form.TextField.superclass.init.Component.call(this); 
} 

}); 

Ext.reg('stringdouble', Ext.myApp.StringDouble); 

Спасибо.

ответ

0

первую очередь я не понимаю, почему вы должны создать свой собственный компонент при переходе к конфигурации compositefield может достигнуть такого же поведение, как этого

{ 
    xtype: 'compositefield', 
    labelWidth: 120 
    items: [ 
     { 
      xtype  : 'textfield', 
      fieldLabel: 'Title', 
      width  : 20 
     }, 
     { 
      xtype  : 'textfield', 
      fieldLabel: 'First', 
      flex  : 1 
     } 
    ] 
} 

, а также есть опечатка при вызове родительского класса InitComponent метод

initComponent : function() { 
    this.init(); 
    Ext.form.TextField.superclass.initComponent.call(this); 
} 
+0

Эти компоненты служат в качестве шаблонов, которые могут быть изменены с помощью определений (метка изменения, единица, разделитель, ...). Они используются для чего-то вроде хранения, где много предметов имеют схожие параметры. – Zhack

Смежные вопросы