¿Cuál es la mejor manera de abrir mediante programación un panel interior Dijit acordeón de contenedores

StackOverflow https://stackoverflow.com/questions/1190157

  •  19-09-2019
  •  | 
  •  

Pregunta

Estoy intentando abrir y cerrar paneles de acordeón mediante programación. Aquí está la versión simplificada de mi código. A pesar de que el set de la primera panel seleccionado para el panel de falso y segundo y seleccionado en true, sólo el primer panel se abre cuando se carga en el navegador (FF3).

var accordionContainer = new dijit.layout.AccordionContainer().placeAt("test");
var accordPane = new dijit.layout.ContentPane({"title": "test", "content":"hello"});
var accordPane2 = new dijit.layout.ContentPane({"title": "test1", "content":"hello1"});
accordionContainer.addChild(accordPane);
accordionContainer.addChild(accordPane2, 1);
accordPane.startup();
accordPane2.startup();
//accordionContainer.selectChild(accordPane2);
accordionContainer.startup();
accordPane.selected = false;
accordPane2.selected = true;
¿Fue útil?

Solución

Puede hacerlo de esta manera:

accordionContainer.selectChild( accordPane2 );

Si se asume que está utilizando dojo 1.3.

dijit.layout.AccordionContainer es una subclase de dijit.layout.StackContainer, que ha selectChild definido.

He creado una página de demostración donde se puede ver el código en la acción

Si usted llamaba antes selectChild startup, que podría causar el error que estaban viendo desde el widget no se encontraba en un estado de 'completo'. (Lo siento, se perdió el código commneted antes he publicado respuesta original)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top