2017-05-04 26 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 
}); 

容器上两个面板呈现。

相关问题