Этот вопрос является частью Как установить значения по умолчанию для столбцов Grid в initComponent и размещать их здесь независимо через @ scebotari66 advice на основное сообщение.
Как вы заметите ниже; Ext.Array.map
для определения defaults
для связанной функции.
// Statment
initComponent: function () {
var me = this;
me.items = Ext.Array.merge(
me.getFormSt(),
Ext.Array.map(me.getForm(), function (listFldConfig) { //Aim to using the array map function to set flex property for subset fields
listFldConfig.flex = 1;
return listFldConfig;
}),
me.getFormEnd()
);
me.callParent(arguments)
},
// Implementation
getForm: function () {
var me = this;
var form = [
{ // Array.map func. sets `flex` to this obj.
xtype: 'fieldcontainer',
layout: { type: 'vbox', align: 'stretch', pack: 'start' },
items: [
{
xtype: 'fieldcontainer',
layout: 'hbox',
items: [
{
xtype: 'foofield',
//flex: 1 //But I need to set `flex` as default for this obj. in nested items array
},
{
xtype: 'barfield',
//flex: 1 //But I need to set `flex` as default for this obj. in nested items array
}
Дело в том, что эта реализация работает, как и ожидалось, но в этой ситуации я создаю fieldcontainer
объект, который включает в себя все другие вещи и предметы внутри. И Array.map
устанавливает flex
config только для первого fieldcontainer
obj. Мне нужно определить flex
config только для вложенных items
, которые имеют foofield
и barfield
.