Aus öffentlichen Paketdaten erstellte Orientierung.
Easy Search ist ein hochgradig anpassbarer Suchkomponente, der entwicklungsorientiert ist und eine flexible sowie wiederverwendbare Suchoberfläche bereitstellt. Auf Flutter basierend, bietet sie standardmäßig Funktionen zum Filtern von Listen, zur Verarbeitung von Eingaben in Echtzeit und zur Unterstützung verschiedener UI-Anpassungen. Ideal für Apps, die schnelle und intuitive Sucherfahrungen erfordern, reduziert es Boilerplate-Code und beschleunigt die Implementierung von Funktionen. Das Paket lässt sich nahtlos in bestehende Projekte integrieren und unterstützt responsive Design über alle Plattformen hinweg.
Anwendungsfälle
Dynamische Listenfilterung implementieren
Suchbare Dropdowns erstellen
Schnellsuch-Schnittstellen erstellen
Verbesserung der Benutzer-Navigation in großen Datensätzen
Suchfunktion zu Formularen hinzufügen
Hauptmerkmale
Eingabehandhabung bei Echtzeit-Suche
Anpassbare Benutzeroberfläche und Gestaltung
Unterstützung für asynchrone und synchrone Filterung
Wiederverwendbares Suchwidget
Leichtgewichtig und einfache Integration
Geeignet für
Entwickler, die eine schnelle Suchimplementierung suchen
Apps mit großen Datensätzen, die gefiltert werden müssen
UI-intensiven Anwendungen, die konsistente Suchkomponenten erfordern
Teams, die Entwicklungsgeschwindigkeit und Wartbarkeit priorisieren
Hinweise
Benötigt manuelle Einrichtung für komplexe Filterlogik
Begrenzter integrierter Support für erweiterte Suchfunktionen wie Fuzzy-Matching
Keine plattformspezifischen Optimierungen erwähnt
Hängt von externer Zustandsverwaltung für komplexe Anwendungsfälle ab
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
A highly customizable search component to accelerate your development.
Overview
There are many search or search components for Flutter, however this one comes to perform search in Offline List,
or HTTP Search and more, it already comes with nice default layout and many customizations,
and we can focus more on writing amazing applications.
For the search to work in an offline list, we need to implement the following items in your model or in your object's data class:
toString, equals and also hashcode
Here's how to do it
classModelExample{
finalString name;
finalint age;
ModelExample({this.name, this.age});
@overrideStringtoString() {
return'$name$age';
}
factoryModelExample.fromJson(Map<String, dynamic> json) {
if (json == null) returnnull;
returnModelExample(
name: json["name"],
age: json["age"],
);
}
staticList<ModelExample> fromJsonList(List list) {
if (list == null) returnnull;
return list.map((item) => ModelExample.fromJson(item)).toList();
}
//In this case I customized it so that the search returns everything that contains part of the name or age@overrideoperator ==(object) => this.name.toLowerCase().contains(object.toLowerCase()) || this.age.toString().contains(object);
@overrideintget hashCode => name.hashCode ^ age.hashCode;
}
Roadmap
This is our current roadmap. Please, feel free to request additions/changes.
Feature
Progress
Offline List
✅
Http Request Support
✅
Widget Consume for ChangeNotifier
✅
Widget consume for NotifierValue
✅
Just one selected item
✅
Multiple item selection
✅
Search after last input
✅
Cancel to keep old items
✅
Remove items by touch
✅
Nice layout default
✅
Custom layout support
✅
Progress on search request
✅
Custom selected animation
✅
Custom animated action buttons
✅
Custom message when no data found
✅
Custom theme colors
✅
Many other customizations
✅
Documentation - in progress
💔
Features and bugs
Please send feature requests and bugs at the issue tracker.