2013-07-08 5 views
6

Uso la lista Sencha Touch (xtype: list) nelle mie app, con il plug-in listPaging. Funziona come un fascino sulla creazione di effetti infiniti, impostando autopaging: true.Sencha Touch List Paging: numero limite del record del negozio

MA, la mia domanda è, come mantenere i record del negozio (o delle righe sulla lista) in un numero solo, ad esempio 50 record.

Quindi, quando l'utente scorre verso il basso, carica automaticamente la pagina successiva, rimuovendo la pagina precedente (corrente) e, scorrendo verso l'alto, carica la pagina precedente.

l'obiettivo è, per limitare il numero di record del negozio, perché se è caricato tutto (continuando a scorrere verso il basso), si blocca il dispositivo (testato su Ipad).

Ha senso, ho 40k record su db.

+0

Avete trovato la soluzione? – Hunt

+0

Penso che il plugin listPaging non ti aiuti in questo caso. È necessario estendere la sua funzionalità per avere etichette e handler bottom e ** top ** "load more", dal momento che se si eliminano alcuni dati mentre si scorre verso il basso, quando si inizierà lo scrolling, sarà necessario ripristinare tali dati. – pckill

+0

Hunt, no, ancora nessuna soluzione. @pckill, ho provato a creare un plugin basato su listPaging, ma le cose sono incasinate. errore ovunque – Lee

risposta

2

Ieri stavo lavorando a qualcosa di simile ma solo con la prossima funzionalità.

È possibile sovrascrivere il metodo che carica la nuova pagina al volo. È loadNextPage() e aggiungi store.removeAll() prima di richiedere la pagina successiva.

Nell'elenco:

plugins: [ 
    { 
     type: 'listpaging', 
     autoPaging: true, 
     noMoreRecordsText: null, 
     loadMoreText: null, 
     loadNextPage: function() { 
      var me = this; 
      if (!me.storeFullyLoaded()) { 
       me.getList().getStore().removeAll(); 
       me.getList().setMasked(true); 
       me.getList().getStore().nextPage({ addRecords: true }); 
      } 
     } 
    } 
] 

solo per la successivo, potrebbe essere un po 'più complicato per l'precedente ma forse questo può dare un'idea. Probabilmente l'aggiunta di un'altra cmp in cima alla lista che spara store.previousPage()

spero che helps-