Wenn wir den Zahleneingabewert löschen (leer machen), sollte im Idealfall kein Filter angewendet und alle Werte aufgelistet werden. Wenn wir jetzt einen Filter anwenden, indem wir die Zahl 5 in das Eingabefeld eingeben, funktioniert dies einwandfrei und alle Daten, die mit 5 übereinstimmen, werden unten aufgelistet. Wenn wir nun den Wert im Eingabefeld löschen, sollten im Idealfall alle Werte aufgelistet werden (kein Filter), aber der Winkel wendet den Nullfilter für Zahlen an und alles wird herausgefiltert (ng-repeat listet nichts auf).
Eingabetyp = "Nummer" ng-model = "Alter"
Hinweis: Kein Problem mit der Eingabe von Typ = Text
(Wie Sie erwähnen) dies geschieht , weil input[number]
Abtretungs null
auf das Modell , wenn das Feld leer ist.
Es ist vernünftig (imo) zu erwarten, dass dies so funktioniert, wie Sie es erwarten, aber ich bin mir nicht sicher, wie wir dies angehen können.
Eine Korrektur auf der Filterseite ist nicht wünschenswert, da null
ein gültiger Wert sein kann (und wir können ihn nicht als undefiniert behandeln). Es ist wahrscheinlich auch keine praktikable Lösung, es auf NgModelController
reparieren.
@others : Gedanken?
In der Zwischenzeit können Sie diese (nicht so schöne) Problemumgehung verwenden:
<input type="number" ng-model="search.posts" />
...
<div ng-repeat="user in users | filter:((search.posts===null)?undefined:search)">...</div
Wir geben null
da die Rückgabe von undefined
von einem Parser einen Analysefehler verursacht. Ein weiterer Grund, warum das nicht das beste Design ist.
@Narretz Ich wollte gerade fragen, warum wir nicht undefined
:-)
Ich weiß, dass dieser Beitrag ein bisschen alt ist, aber ich hatte eine wirklich schlechte Zeit, herauszufinden, wie ich dieses Problem lösen kann, also möchte ich meine Lösung teilen. Fügen Sie Ihrem Eingabefeld ein Ereignis oninput hinzu und prüfen Sie in der Javascript-Funktion, ob der Wert dieses Felds eine leere Zeichenfolge ist. Löschen Sie in diesem Fall den Wert des Eingabefelds mit:
delete document.getElementById ('was auch immer'). value;
Ich denke nicht, dass HTMLInputElement-Attribute konfigurierbar sein sollen
Hilfreichster Kommentar
(Wie Sie erwähnen) dies geschieht , weil
input[number]
Abtretungsnull
auf das Modell , wenn das Feld leer ist.Es ist vernünftig (imo) zu erwarten, dass dies so funktioniert, wie Sie es erwarten, aber ich bin mir nicht sicher, wie wir dies angehen können.
Eine Korrektur auf der Filterseite ist nicht wünschenswert, da
null
ein gültiger Wert sein kann (und wir können ihn nicht als undefiniert behandeln). Es ist wahrscheinlich auch keine praktikable Lösung, es aufNgModelController
reparieren.@others : Gedanken?
In der Zwischenzeit können Sie diese (nicht so schöne) Problemumgehung verwenden:
Demo Geige