如果我有:
var x = new Ext.form.formPanel({
});
我想在两个地方重用,例如:
var panel1 = new Ext.panel({ items:[x] });
var panel2 = new Ext.panel({ items:[x] });
尝试方法Ext.extend
但它没有用。如果我这样做,它只会在页面上呈现一次。
答案 0 :(得分:1)
需要创建两个Ext.form.FormPanel对象,因此您必须执行与下面所示类似的操作:
var x = new Ext.form.FormPanel({
});
var y = new Ext.form.FormPanel({
});
var panel1 = new Ext.Panel({ items:[x] });
var panel2 = new Ext.Panel({ items:[y] });
答案 1 :(得分:1)
您可以创建自己的formPanel类,然后在每次需要时创建
MyForm = Ext.extend(Ext.form.FormPanel, {
title: 'My Personal Form',
width: 400,
height: 250,
padding: 10,
initComponent: function() {
this.items = [
{
xtype: 'textarea',
anchor: '100%',
fieldLabel: 'Label'
},
{
xtype: 'textfield',
fieldLabel: 'Label',
anchor: '100%'
}
];
MyForm.superclass.initComponent.call(this);
}
});
var panel1 = new Ext.panel(new MyForm({id:'test1'}));
var panel2 = new Ext.panel(new MyForm());
我在第一个面板中插入了一个id属性,但你可以插入其他任何东西。 您还可以更改表单的标准配置,覆盖配置