Я определяю панель имеет 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'
}]
});
И я с помощью этого в другой форме. Если эта форма не имеет макета, это верно. Но если я с помощью макета, как
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
не наследования родительского макета)
Как сделать пункты example
наследования макета родителя. Благодарности
- это лучший способ изменить? или изменить 'Ext.define ('Example', {' лучше? – freestyle
@freestyle Ну вы не можете наследовать, когда вы вставляете что-то в качестве дочернего, вы можете предоставлять только по умолчанию дочерние. Обратите внимание, что наследование предназначено для определения, а значения по умолчанию - для экземпляров. «Пример» - это определение класса, которое может содержаться (вставлено в контейнер) или может не содержаться (отображается в dom-узле). Теперь я рекомендую вам прочитать макет с ownerCt (если есть является одним) даже в то время, когда возможно, что это не так, как вы должны проектировать классы. В вашем случае макет определяется реализацией, поэтому пусть реализация справится с этим. – sra