Ich bin neu in diesem Rahmen, übe Angularjs und folge den Tutorials auf der Webseite.
Es gibt ein Beispiel, wo wir die Daten in der Tabelle suchen können, Das Beispiel ist wie folgt,
%Vor%Hier im obigen Code kann ich das Telefon mit zwei verschiedenen Eingaben suchen, d. h. nach Modellnamen suchen und nach Firma suchen. Der obige Code läuft gut,
Aber was, wenn ich suchen muss, indem ich die Art der Suche in den Auswahloptionen verwende,
Der Code ist wie folgt
%Vor%
Aus dem obigen Code können Sie sehen, dass ich versuche zu erreichen, ist Such-Mitarbeiter durch "Name", "Firma" oder "Bezeichnung" in der Auswahlbox,
aber ich gehe hier falsch,
Die ng-Modell-Abfrage greift nicht auf das richtige Mapping zu, oder vielleicht mache ich es falsch,
kannst du mir bitte sagen, wie ich das erreichen werde,
welcher Teil des Codes sollte ich ändern
Ein Beispiel, auf das Sie verweisen, verwendet das Objekt zum Angeben von Filterschlüsseln, während Ihr Code immer eine Zeichenfolge sendet, und dies ist die Hauptursache.
Nehmen wir an, ich habe "e" in das Suchfeld eingegeben. Ohne "Suche nach" würde der Filter in jedem Schlüsselwert nach "e" suchen. Wenn wir den Wert aus "Suche nach" auswählen, wird die Abfragezeichenfolge zum Wert der aktuellen Option ("Name", "Firma" oder "Bezeichnung") und wird in derselben Szenerie wie "e" fortgeführt, außer ohne Ergebnis, weil es aren keine Übereinstimmungen in Testdaten.
Die richtige Methode zum Auswählen von "Suchen nach" besteht darin, ein Objekt mit einem einzelnen Schlüssel zu erstellen, der als ausgewählte Option gleich der Suchabfrage benannt wird. Wenn der Benutzer also mit "sh" nach dem Namen sucht, lautet er:
%Vor%Falls noch keine Option ausgewählt wurde, sollte die Eigenschaft "$" heißen, so wird der Filter nach allen Eigenschaften suchen.
Ich habe den Code so eingerichtet, dass er wie beabsichtigt funktioniert ( link ). Wie Sie dies implementieren, ist eine andere Frage, aber ich ging, indem ich das Objekt queryFilter auf $ scope mit Getter definieren, das Objekt des gewünschten Formats zurückgibt.
%Vor% %Vor%Einfach und flexibel jsfiddle .
Unten ist Filterreferenz, die ich benutzt habe
%Vor%Tags und Links javascript angularjs single-page-application