2016-07-29 7 views
0

Мне нужно вставить объект в качестве элемента панели. Я создал объект, а в панели I - элемент в виде массива. Затем, как добавить этот объект в элементы массива.Как вставить объект как элемент панели

Мой код:

{ 
    title : "Records", 
    bodyStyle: 'background: #dfe8f6;border:#dfe8f6;', 
    autoScroll: true, 
    id:'ExcludeRecord', 
    region: 'center', 
    layout:{ 
     type: 'vbox', 
     pack: 'start', 
     align: 'stretch' 
    }, 
    items: [], 
    }` 

ответ

0

Вы можете поместить объект в элементы массива

{ 
    title : "Records", 
    bodyStyle: 'background: #dfe8f6;border:#dfe8f6;', 
    autoScroll: true, 
    id:'ExcludeRecord', 
    region: 'center', 
    layout:{ 
     type: 'vbox', 
     pack: 'start', 
     align: 'stretch' 
    }, 
    items: [{ 
      xtype:'panel', 
      html:'Your Object' 
      }], 
    } 
2

Вы можете использовать следующий код для добавления элемента на панель:

var panel = Ext.getCmp('ExcludeRecord'); 
panel.add(object); // Your object. 
panel.doLayout(); 

I надеюсь, что это сработает для вас.

+0

Должен ли я писать это в любой функции 'beforerender' или' afterrender' или в функции 'initComponent'. – David

+0

Да, вы можете писать в любой из них, но вы должны иметь этот объект в этой функции. Ext.apply (me, { items: [{object}], }); me.callParent (аргументы); Вы можете использовать вышеприведенный код в initComponent непосредственно для этого объекта как элемента. –

+0

Для нескольких записей я использую цикл 'for'. Тогда 'panel.doLayout()' предполагается внутри для цикла вправо. В этом случае появляется только один объект времени. – David