2017-05-04 37 views
1

是否可以在兩個不同的面板中添加一個容器?我試圖做這樣的事情在2個面板中添加1個容器

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] 
}); 

但只有第二小組

在這裏,在增加了容器是Fiddle

+0

這個小代碼看起來是正確的。但是你可以在小提琴上顯示同樣的東西,我可以在那裏查看。 – Tejas

+1

@ Tejas1991:這是我試圖製作的程序的[Fiddle](https://fiddle.sencha.com/#view/editor&fiddle/1v2m)。正如你所看到的容器只加第二面板 –

+0

我只是調試您的問題,並固定它會將其張貼在幾個分鐘的答案。 – Tejas

回答

1

這取決於你的使用情況一點點。 如果你感覺很好使容器兩次,你可以只通過容器的配置到面板中:

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 
}); 

重用實例,並把同一個實例上的不同位置兩次在DOM我沒有看到實現這一目標的方式。我甚至認爲它是不可行可言,但也許其他人可以教我如何做一個乾淨,舒適的方式;)

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 
}); 

容器上兩個面板呈現。

相關問題