2013-06-06 2 views
9

Ich habe eine Reihe von Objekten, die nur Elemente sind. Ich habe auch ein Drop-down, das ich verwenden möchte, um dem Benutzer zu ermöglichen, nach Preis oder Bewertung zu filtern, aber beim Laden der Seite sollte es keine Filterung geben.Filterdaten über Dropdown?

Wie mappe ich Artikeldaten, um basierend auf der aktuellen Auswahloption zu filtern?

Ich habe ein plunkr, um loszulegen: LINK

+0

Bitte klicken Sie auf "Speichern" in Ihrem Plunk und aktualisieren Sie Ihre Frage mit neuer URL. Du hast einen Inhalt mit leerem AngularJS Plunk gepostet. –

+0

Sorry Plunkr hat sich heute seltsam verhalten. Versuchen Sie es jetzt – Malcr001

+0

Ein Detail-Blog mit Beispiel: http://goo.gl/XYmwkr –

Antwort

17

In erster Linie Ihre ausgewählten Werte sind nicht eindeutig. Sie enthalten Werte, die die Einträge filtern UND sortieren können - Trennen Sie die beiden, da sie zwei verschiedene Funktionen sind.

Als Nächstes müssen Sie einen benutzerdefinierten Filter definieren, der die Daten basierend auf der ausgewählten Bewertung filtert. Dazu erweitern Sie die Filterkriterien mit der Eigenschaft "Rating", um das ausgewählte Rating einem Rating-Wert zuzuordnen. Geben Sie die Sortierung schließlich einem Prädikat und einem Umkehrwert zu - das Prädikat bestimmt die Eigenschaft/Spalte für die Sortierung (Preis in Ihrem Fall), während umgekehrt die aufsteigende/absteigende Art der Sortierung bestimmt wird.

Der gesamte Code ist hier zu finden - http://plnkr.co/edit/n7TebC?p=preview

Ich habe die plunkr aktualisiert und eingeführt Kommentare so lassen Sie mich wissen, wenn Sie nicht über einen Code verstehen.

+0

Vielen Dank für Ihre Hilfe. – Malcr001

+0

Dies ist kein benutzerdefinierter Filter, da Angular diesen Begriff verwendet, aber es funktioniert so. –

Verwandte Themen