2016-04-21 18 views
0

Wenn ich meine App lade, ist die erste Komponente ein Raster (mit Pagingbar).Speicher löschen und Suchergebnis im Raster laden

Das Gitter Speicher hat die Config autload: true

die App eine zweite Komponente aufweist, eine Form, verwendet, um zu suchen, und das Ergebnis wird in das Netz geladen.

Wenn ich auf die Suchschaltfläche klicke, wenn das Raster z. B. auf Seite 2 liegt und die Suchzeichenfolge nur auf der ersten Seite vorhanden ist, werden keine Ergebnisse zurückgegeben.

Die Lösung, die ich verwendet habe, ist, auf die erste Seite zu gehen, alle Datensätze zu entfernen (geladen mit autoload: true) und dann das Suchergebnis zu laden.

store.loadPage(1) ; 
store.removeAll(); 
store.proxy.extraParams = {...}; 
store.load({ 
    … 
}); 

Das Problem besteht darin, dass zwei aufeinander folgende Lösung machte Lasten erfordert und kurz Raster zeigt die Ausgangsdatensätze (automatischen Laden), sie entfernen, und dann zeigt das Suchergebnis.

Mein Ziel ist es, das Raster (Speicher) zu löschen, um das Suchergebnis korrekt zu laden.

Gibt es einen besseren Weg, dies zu tun?

Danke.

Antwort

1

Sie können nur:

store.proxy.extraParams = {...}; 
store.loadPage(1, {...}); 

es sei denn, Sie clearOnPageLoad: false verwenden.

1

Statt zwei Lasten zu tun, passieren die params in der loadPage Funktion des Ladens:

store.loadPage(1,{ 
    params: your_params, //store.proxy.extraParams = {...}; 
    callback: function(records,operation,success){ 
     //your code 
    } 
}); 
+1

Wenn Sie Suchparameter über 'loadPage()' Optionen hinzufügen, wird es nur diese einzelne Anfrage betreffen, ich denke, wir müssen Suchparam hinzufügen, um 'extraParams' zu speichern, da es alle nachfolgenden Anfragen beeinflussen sollte, bevor Suchfelder gelöscht werden mag ich. –

+0

Aber wenn wir alle Suchfelder bereinigen, sollte das erwartete Ergebnis alle Datensätze sein (weil es keinen Filter gibt) und nicht die von den extraParams gefilterten Datensätze oder "Habe ich deinen Kommentar missverstanden?" – qmateub

+0

Wenn wir das Suchfeld löschen, müssen wir den Suchparam aus dem Speicher 'extraParams' entfernen, aber wenn wir den Suchparameter an' loadPage() 'übergeben, und zum Beispiel den gefilterten Datensatz viele Seiten auf' nextPage() 'enthält, werden wir das tun lädt ungefilterten Datensatz. –

Verwandte Themen