EXTJS 4.1, wie man den Filter entfernt, ohne TreeStore neu zu laden
Frage
Ich habe einen TreeStore, der sich mit Daten von Json füllt.Ich wende einen Filter darauf an.
if ( !filter.filterFn(node) ) {
node.remove();
}
Beim ersten Suchversuch funktioniert alles super, beim zweiten Versuch werden jedoch nicht alle Daten in der Suche verwendet.Um alle Daten nutzen zu können, muss ich .load() für die Speicherung ausführen.In diesem Fall wird jedoch die Anfrage an den Server gesendet und der Filter angewendet.Gibt es eine Möglichkeit, dieses Verhalten zu erreichen?
Lösung
Ich bin mir nicht sicher, ob ich Ihrer Frage ganz folge, aber ich denke, Sie möchten den früheren Filter entfernen, bevor Sie einen neuen Filter anwenden.
Sie können direkt vor dem Anruf eine Zeile hinzufügen, um den Filter hinzuzufügen.
Etwas wie das:
yourTreeStore.filters.clear();
(Wo yourTreeStore
ist ein Verweis auf Ihre Ext.data.TreeStore
Sie fügen die Filter hinzu)