2011-08-29 8 views
2

Existe-t-il un moyen d'implémenter la disposition verticale en utilisant Dojo/Dijit? Je n'aime pas BorderLayout à cause des séparateurs.Comment implémenter la disposition verticale

+0

BorderContainer offre la possibilité de désactiver splitters ainsi que « gouttières » mais vous seriez limité à trois éléments empilés. Comme manquant le dit, simplement empiler des éléments est préférable de laisser HTML, ce qui explique pourquoi Dijit ne fournit pas de widgets de type hbox/vbox. – peller

Répondre

4

À moins que vous avez vraiment besoin d'une caractéristique particulière (que vous n'avez pas mentionné) de BorderLayout il pourrait être possible d'utiliser tout simplement vieux HTML + CSS & manipulation DOM à la place:

var d = dojo.create('div', {}, parentNode); 
d.appendChild(aWidget.domNode); 
d.appendChild(dojo.create('div', {innerHTML: 'a plain HTML node'})); 
d.appendChild(anotherWidget.domNode); 
//... 

EDIT: Je suis juste tombé sur un cas où je voulais réellement un VerticalLayout, en raison d'un code qui fonctionne sur les fonctions addChild et removeChild. J'ai réussi à le mettre en œuvre en mélangeant seulement dans certaines classes existantes:

var VerticalLayout = dojo.declare([dijit._Widget, dijit._Container], {}); 
+0

Sanglant brillant! Cela fonctionne beaucoup mieux que de pirater ensemble des attributs HTML avec dojo.create (...) ou pire. – Justin

Questions connexes