Come ottenere gli elementi in extjs

Nel mio progetto, ho creato widget alias per il seguente codice in “Vista” come notifications. Ora, come accedere a ogni voce “Controller” ?

extend: 'Ext.panel.Panel',
alias: 'widget.notifications',
layout: 'fit',
items:[{
    xtype: 'container',
    layout: {type: 'vbox', align: 'stretch'},
    items: {
        xtype: 'container',
        flex:1,
        layout: {type: 'vbox', align: 'stretch'},
        items:[{
            xtype: 'container',
            flex: 1,
            items: [{
                xtype: 'container',
                height: 20,                 
                html: "This week",                  
            },
            {
                xtype: 'container',
                flex: 1,
                layout: {type: 'vbox', align: 'stretch'},
                items: [{
                    xtype: 'container',
                    height:20,
                    html : 'show submit status here'
                },
                {
                    xtype: 'container',
                    flex: 1,
                }]
            }]
        },
        {
            xtype: 'container',
            flex: 1,
            layout: {type: 'vbox', align: 'stretch'},
            items: [{
                xtype: 'container',
                height: 20,
                html: "This month"
            },
            {
                xtype: 'container',
                flex: 1,
                layout: {type: 'vbox', align: 'stretch'},
                items: [{
                    xtype: 'container',
                    html: 'submit status of month here',
                    height: 20
                },
                {
                    xtype: 'container',
                    flex: 1,
                }]
            }]
        }]
    }
}]

Ho provato:

 var notificationView = Ext.widget('NotificationView');
 var childItem = notificationView.items.items[0].items.items[0].items.items[0].items.items[0];

Che dà solo a me il mal di testa e molti errori.

Ho provato anche utilizzando ComponentQuery come questo:

var childItem = notificationView.ComponentQuery.query('container>container>container>container');

Che ottiene solo il primo figlio, non il figlio di altri elementi.

InformationsquelleAutor Mr_Green | 2013-03-19



One Reply
  1. 2

    È possibile utilizzare qualsiasi arbitraria proprietà è componente di identificare per la componente di query. Per esempio, se si aggiunge la struttura refId : 'myMonthlyStatus' al tuo ultimo contenitore, è quindi possibile trovare utilizzando query('container [refId=myMonthlyStatus]') da qualsiasi luogo.

    • C’è qualcosa di simile refId ? Perché io non riesco a trovarlo.
    • e anche Se dovessi cambiare qualcosa nel notificationView variabile, non vedo cambiamenti nel mio modo di vedere. Ho anche chiamato this.callParent().
    • non c’è refId proprietà – l’ho fatta fino a mostrare che è possibile utilizzare qualsiasi proprietà che si desidera in ComponentQuery. Rileggere la mia risposta di nuovo con cura.

Lascia un commento