2015-08-01 8 views
0

Панель дерева не получает оказываемую кода является:Дерево панели в ExtJS-не оказывающий

Ext.define('mainPanel',{ 
    extend:'Ext.form.Panel', 
    layout: { 
    type: 'hbox', 
    align: 'stretch' 
    }, 
    width:'100%', 
    height:'100%', 
    title:'SQL', 
    initComponent:function() 
    { 
     var tableDiv = this.getTableColumn(); 
     var analyzerDiv = this.getAnalyzerColumn(); 
     var fieldDiv = this.getfieldColumn(); 
     this.items=[tableDiv,analyzerDiv,fieldDiv]; 
     this.callParent(); 
    }, 
    getTableColumn:function() 
    { 
     var TableColumn = Ext.create('Ext.tree.Panel',{ 
          title:'Tables', 
          width:'20%', 
          heigth:'100%', 
          layout: 'fit', 
          border:true, 
          store: tableTreeStore, 
          rootVisible: false 

         }); 
     return TableColumn; 
    } 

Pls дай мне знать, где я буду неправильно. Заранее спасибо ошибка я получаю

TypeError: с не конструктор вернуть новый с (а [0])

ответ

0

Пожалуйста, проверьте этот Sencha fiddle, что я создал для вас.

Эта ошибка существует, если вы пытаетесь переопределить initComponent в компоненте по умолчанию Extjs.

Например:

Ext.define('Ext.panel.Panel',{ 
    initComponent: function(){ 
     //YourCode 
    } 
}); 

Или

Ext.create('Ext.panel.Panel', { 
    initComponent: function(){ 
     //Yourcode 
    } 
}); 

Если вы хотите устранить эту ошибку из кода вам нужно, например, определить свой пользовательский Component - CustomPanel, которые расширяют Extjs компонент:

var panel = Ext.define('CustomPanel', { 
        extend: 'Ext.panel.Panel', 
        width:300, 
        heigth:400, 
        layout: 'fit', 
        initComponent: function(){ 
         var tableDiv = this.getTableColumn(); 
         this.items=[tableDiv]; 
         this.callParent(); 
        }, 
       getTableColumn:function() { 
        return Ext.create('Ext.tree.Panel',{ 
        title:'Tables', 
        width:300, 
        heigth:400, 
        layout: 'fit', 
        border:true, 
        store: tableTreeStore, 
        rootVisible: false 
       }); 
      } 
    }); 

И где-то в вашем коде - c оздание CustomPanel:

Ext.create('CustomPanel', {  
    }); 

Надежда это то, что вы искали.

+0

Я ценю вашу помощь Pawel, я хотел бы знать, что не так в моем коде, потому что я представил другие компоненты, такие как grid, fieldset и т. Д. С initComponent. – user2380811

+0

Я только что обновил Fiddle. Взглянуть. –

+0

Только что обновил ответ и скрипку. Взглянуть. –