2012-11-08 10 views
5

Ho un layout del bordo con diciamo due regioni; centro e ovest. La westregion viene aggiunta con il parametro splitter ed è pieghevole. Ora ho una barra degli strumenti da cui voglio nascondere/mostrare la regione occidentale. Ho risolto questo problema chiamando il metodo toggleTargetCmp() dello splitter. Beh, lo so, questo è un metodo privato e non dovrebbe essere usato, ma non ho trovato altro modo per archiviarlo. Fin qui tutto bene. Tutto questo funzionaNascondere un componente all'interno di una regione del bordo-bordo in modo programmatico

Ma ora voglio nascondere lo splitter & segnaposto (recupero il segnaposto utilizzando il metodo getCollapseTarget() se si fa clic sul pulsante nella barra degli strumenti). L'ho provato con setVisible(false) che funziona per lo splitter ma non ha funzionato bene per il segnaposto ... dopo un'analisi più approfondita dell'istanza segnaposto posso dire che è impostato suma utilizza lo hideMode: 'offsets' di default più hiddenAnchestor: false che non è documentato nell'API.

Sulla base del docu API per hideMode ho cercato di impostare a 'display' prima di chiamare setVisible(false) senza alcuna fortuna, il segnaposto rimane ancora visibile.

Quindi, come posso nascondere anche il placholder. O c'è anche un modo migliore per archiviare questo?

risposta

1

Hai provato a nascondere il metodo? Funziona esattamente come descriveresti: nasconde la regione e lo splitter. Nel mio progetto ho farlo in questo modo:

panel.hide(); 

pannello in cui è uno degli elementi borderPanel.

+0

In base al [API hide()] (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.Component-method-hide) è valido solo per gli elementi mobili . Ma farò un tentativo. – sra

+0

Bene, a volte è bene rileggere le righe :) Solo l'animazioneTarget è limitato. Grazie per avermi fatto notare! +1 – sra

+0

siete i benvenuti – mik

Problemi correlati