1
我定義了一個面板有2個項目看起來像http://jsfiddle.net/BB8Vu/Extjs4.1 - 如何讓項目繼承其父佈局
Ext.define('Example', {
extend: 'Ext.panel.Panel',
border: false,
alias: 'widget.example',
items: [{
fieldLabel: 'Age',
name: 'age',
xtype: 'numberfield',
minValue: 0,
maxValue: 100
}, {
xtype: 'timefield',
fieldLabel: 'Time',
name: 'time',
minValue: '8:00am',
maxValue: '6:00pm'
}]
});
而我使用的是另一種形式。如果該表單沒有佈局,那麼這是正確的。但是,如果我(在example
不繼承父佈局項目的寬度)使用佈局像
Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 5,
width: 350,
url: 'save-form.php',
layout: 'anchor',
defaults: {
anchor: '100%'
},
defaultType: 'textfield',
items: [{
fieldLabel: 'First Name',
name: 'first',
allowBlank: false
},{
xtype: 'example'
}],
renderTo: Ext.getBody()
});
這是失敗的樣子
如何使example
繼承父佈局的項目。由於
是改變的最好方法嗎?或更改'Ext.define('Example',{'更好? – freestyle
@freestyle)當你插入某些東西作爲子類時,你不能繼承它,你只能提供默認值給子類,注意繼承是定義的,默認是實例。 'Example'是一個可以包含(插入到容器中)的類定義,也可以不包含(呈現給dom節點)。現在我建議你從ownerCt中讀取佈局是一個),儘管有可能它不是你應該設計類的方式。在你的情況下,佈局是由實現定義的,所以讓實現來處理它。 – sra