Foro

[SOLUCIONADO] Acceder a los items de un componente

0
Buenos días, Estoy con un proyecto utilizando uno de los ejemplos de extjs, en concreto utilizando el webDesktop. La cuestión es que no soy capaz de acceder a los items (componentes) que hay en un componente concreto. Para facilitar la pregunta utilizare uno de los ejemplos del tutorial de esta pagina. Si tenemos un codigo var panel1 = new Ext.Panel({ title: 'Users', iconCls: 'users' }); var panel2 = new Ext.Panel({ title: 'Reports', iconCls: 'reports' }); var panel3 = new Ext.Panel({ title: 'Documents', iconCls: 'documents' }); var main = new Ext.Panel({ title: 'My first panel', width:250, height:600, defaults: { // con esto evitamos... collapsible:true, //duplicar código... border: false, // y todas estas... bodyStyle: 'padding:10px;', // propiedades ... titleCollapse: true, // son agregadas a... height:200 //todos los paneles internos }, items: [panel1,panel2,panel3] }); main.render('frame'); La pregunta es, como se puede acceder a panel1 (si yo no lo tengo referenciado)??? Es decir, mi objeto main seria algo asi var main = new Ext.Panel({ title: 'My first panel', width:250, height:600, defaults: { // con esto evitamos... collapsible:true, //duplicar código... border: false, // y todas estas... bodyStyle: 'padding:10px;', // propiedades ... titleCollapse: true, // son agregadas a... height:200 //todos los paneles internos }, items: [{ id:'panel1', xtype:'panel', title: 'Users', iconCls: 'users' }, panel2, panel3] }); Al no tener referenciado el 'panel1' no se como acceder a sus propiedades. He probado con main.items[0].title; main.items['panel1'].title; Ext.fly('panel1').title; No se, soy muy novato en esto, y el alcance de las variables todavia me lia aun a pesar de haber hecho el tutorial, a ver si alguien me lo puede aclarar un poco. Muchas gracias a tod@s
0
Si, por supuesto que me ha servido. ahora si he podido acceder a las propiedades. Mil gracias, es la primera vez que me lio con Ext y cada cosilla es un escalon. Gracias una vez mas Tokkaido
0
para acceder a los componentes usas la propiedad id, en tu ejemplo deberías poder acceder a el de la sgte manera: Ext.getCmp('panel1'); también puedes asignárselo a una variable: var micomp = Ext.getCmp('panel1'); y luego acceder a sus propiedades: micomp.title; recuerda que para acceder a ciertas propiedades y valores asi como para asignar valores nuevos a propiedades debes usar los métodos del componente. Siempre ten a mano el enlace con la API del ExtJS que es la mejor forma de saber que métodos tiene un componente. Espero te sirva :-)

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.