2017-05-04 2 views
1

Ist es möglich, einen Container in zwei verschiedenen Panels hinzuzufügen? Ich habe versucht, istHinzufügen von 1 Container in 2 Panels

hier ein Fiddle

+0

Dieser kleine Code sieht korrekt aus. Aber kannst du dasselbe auf der Geige zeigen, kann ich dort nachschauen. – Tejas

+1

@ Tejas1991: Dies ist die [Fiddle] (https://fiddle.sencha.com/#view/editor&fiddle/1v2m) für das Programm im Versuch zu machen. Wie Sie sehen können, ist der Container nur zum zweiten Panel –

+0

hinzugefügt Ich habe gerade dein Problem debugged und behoben es wird es als Antwort in wenigen Minuten veröffentlichen. – Tejas

Antwort

1

so etwas wie dieses

var container = Ext.create('Ext.container.Container', { 
    //container content 
}); 

var panel1 = Ext.create('Ext.form.Panel', { 
    //panel1 content 
    items : [container] 
}); 

var panel2 = Ext.create('Ext.form.Panel', { 
    //panel2 content 
    items : [container] 
}); 

Aber es fügt den Behälter nur in der zweiten Tafel tut es ein wenig auf Ihren Anwendungsfall abhängt. Wenn Sie sich wohlfühlen, den Behälter zweimal Rendering können Sie einfach die Konfiguration des Behälters Ihre Platten passieren:

var container = { 
    //container content 
    items: { 
     xtype: 'displayfield', 
     value: 'container content' 
    } 
}; 

var panel1 = Ext.create('Ext.form.Panel', { 
    //panel1 content 
    renderTo: Ext.getBody(), 
    title: 'panel1', 
    items: container 
}); 

var panel2 = Ext.create('Ext.form.Panel', { 
    //panel2 content 
    renderTo: Ext.getBody(), 
    title: 'panel2', 
    items: container 
}); 

Für die Instanz wiederverwendet und die gleiche Instanz zweimal auf verschiedenen Positionen in der dom i nicht sehen platzieren Art und Weise, dies zu erreichen. Ich glaube sogar, es ist nicht machbar überhaupt, aber vielleicht jemand anderes mir beibringen kann, wie es in einer sauberen und gemütlichen Art und Weise zu tun;)

0
var container = { 

    items: [{ 
     xtype: 'button', 
     text : 'select', 
     handler: function() { 
      alert(this.up('form').getTitle()+ " clicked"); 
     } 
    }] 
}; 

var panel1 = Ext.create('Ext.form.Panel', { 
    //panel1 content 
    renderTo: Ext.getBody(), 
    title: 'panel1', 
    items: container 
}); 

var panel2 = Ext.create('Ext.form.Panel', { 
    //panel2 content 
    renderTo: Ext.getBody(), 
    title: 'panel2', 
    items: container 
}); 

Behälter werden auf beiden Platten gemacht.

Verwandte Themen