Gibt es eine Möglichkeit, ein Datumsfeld mit Smart-Tabelle zu durchsuchen? Ich muss für Daten später als ein bestimmtes Datum filtern.So implementieren Sie benutzerdefinierte Suche mit Smart-Tabelle und angularjs
Antwort
können Sie eine benutzerdefinierte (globale Filter) mit dem st-set-filter
Attribut (nicht documentented noch)
<table st-set-filter="myFilter" st-table="rowCollection">
...
</table>
Dann implementieren die benutzerdefinierte Filter
myApp.filter('myFilter',[function(){
return function(array, expression){
//an example
return array.filter(function(val, index){
return new Date(val.theDateProperty) > new Date(expression.theDateProperty) ;
});
}
});
eingerichtet, in dem Sie zum Beispiel den Sie eingerichtet haben Eingabe in die Tabelle
<input type="date" st-search="'theDateProperty'" />
Beachten Sie, dass der Filter global ist die Tabelle, so wird es an Stelle von Winkelfilter (der Standard verwendet wird) für sehr Sucheingabe aufgerufen. Wenn Sie also ein anderes Filterverhalten für verschiedene Spalten wünschen, müssen Sie sie in Ihrem benutzerdefinierten Filter hinzufügen, oder eine andere Technik besteht darin, eine Komparatorfunktion zu verwenden. Sie finden weitere Details in meinem Kommentar auf der pull request (18/11/2014) und einen plunker
bearbeiten finden:
Es documented in der Zwischenzeit war.
Vielen Dank! Ich konnte deinen Code verwenden. Gute Arbeit! – user2543492
- Plunker ist kaputt; und gibt es eine Möglichkeit, extern aus dem Tabellen-DOM zu filtern? http://stackoverflow.com/questions/29261957/angularjs-smart-table-filtering-by-external-control – mg1075