2012-07-12 14 views
5

Sto cercando di scrivere una vista semplice con l'elenco sul contenitore ma ho alcuni problemi. Prima di tutto, l'elenco non è visibile quando sto cercando di fare in questo modo:L'elenco Sencha Touch 2 non è visibile nel contenitore

Ext.define('App.view.News', { 
    extend: 'Ext.Container', 

ma quando è scritto così:

Ext.define('App.view.News', { 
    extend: 'Ext.navigation.View', 

funziona.

Il problema è che quando scrivo con estensione di navigazione.Visualizza, sto ottenendo due barre degli strumenti in cima e non riesco a trovare una soluzione per disabilitare il secondo (aggiunto dalla lista).

codice completo:

Ext.define('App.view.News', { 
    extend: 'Ext.Container', //Ext.navigation.View 
    xtype: 'news', 
    requires: [ 
     'Ext.dataview.List', 
     'Ext.data.proxy.JsonP', 
     'Ext.data.Store' 
    ], 
    config: { 
     style: ' background-color:white;', 

     items: 
     [ 
      { 
       xtype: 'toolbar', 
       docked: 'top', 
       title: 'News', 
       minHeight: '60px', 
       items: [ 
        { 
         ui: 'back', 
         xtype: 'button', 
         id: 'backButton', 
         text: 'Back', 
        }, 

        { 
         minHeight: '60px', 
         right: '5px', 
         html: ['<img src="resources/images/Image.png"/ style="height: 100%; ">',].join(""), 
        }, 
       ],   
      }, 

      { 
       xtype: 'list', 
       itemTpl: '{title},{author}', 
       store: { 
        autoLoad: true, 
        fields : ['title', 'author'], 
        proxy: { 
         type: 'jsonp', 
         url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog', 
         reader: { 
          type: 'json', 
          rootProperty: 'responseData.feed.entries' 
         } 
        } 
       } 
      } 
     ] 
    } 
}); 

Aiuto per favore!

risposta

10

È necessario fornire al contenitore un layout e il proprio elenco una proprietà flessibile. Il flex è importante per gli elenchi poiché non hanno un'altezza visualizzabile da quando scorrono. Ho aggiunto un paio di proprietà al tuo codice qui sotto. Spero che questo ti aiuti.

Ext.define('App.view.News', { 
    extend: 'Ext.Container', //Ext.navigation.View 
    xtype: 'news', 
    requires: [ 
     'Ext.dataview.List', 
     'Ext.data.proxy.JsonP', 
     'Ext.data.Store' 
    ], 
    config: { 
     style: ' background-color:white;', 
     layout: 'vbox', // add a layout 
     items: 
     [ 
      { 
       xtype: 'toolbar', 
       docked: 'top', 
       title: 'News', 
       minHeight: '60px', 
       items: [ 
        { 
         ui: 'back', 
         xtype: 'button', 
         id: 'backButton', 
         text: 'Back', 
        }, 

        { 
         minHeight: '60px', 
         right: '5px', 
         html: ['<img src="resources/images/Image.png"/ style="height: 100%; ">',].join(""), 
        }, 
       ],   
      }, 

      { 
       xtype: 'list', 
       itemTpl: '{title},{author}', 
       flex: 1, // add a flex property 
       store: { 
        autoLoad: true, 
        fields : ['title', 'author'], 
        proxy: { 
         type: 'jsonp', 
         url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog', 
         reader: { 
          type: 'json', 
          rootProperty: 'responseData.feed.entries' 
         } 
        } 
       } 
      } 
     ] 
    } 
}); 
+0

Questo è quello che volevo. Grazie mille! – kmb

+0

Oh uomo mi hai salvato la vita! Dannazione flex ... Stavo iniziando ad arrabbiarmi dopo questa stupida lista! : P – Olivier

+0

appena in vita 3h che fissa questo. Ho dovuto impostare il layout del contenitore per adattarlo. Grazie! – Lucian