【发布时间】:2020-06-16 23:48:11
【问题描述】:
我有多个表单,它们都以相同的“通用”字段开头,然后根据表单具有不同的字段。因此,我有一个父表单,所有子表单都从中扩展。父表单添加了通用字段,因此我不必在子表单中重新声明这些字段。
我遇到的问题是,当我有同一个子表单的多个实例时,会为每个实例重新添加这些通用字段。可能听起来有点令人困惑,但我认为下面的小提琴应该很清楚:https://fiddle.sencha.com/#fiddle/36lu&view/editor。显然我做错了,所以只是想弄清楚我做错了什么。
父/子类的代码:
Ext.define('TestParentForm', {
extend: 'Ext.form.Panel',
xtype: 'testparentform',
initComponent: function(){
var me = this;
if(!me.items){
me.items = [];
}
Ext.Array.insert(me.items, 0, [
{
xtype: 'textfield',
fieldLabel: 'Universal Parent Field'
}
]);
me.callParent(arguments);
}
});
Ext.define('TestChildForm', {
extend: 'TestParentForm',
xtype: 'testchildform',
items: [
{
xtype: 'textfield',
fieldLabel: 'Child-specific Field'
}
]
});
【问题讨论】:
标签: inheritance extjs extjs7