Orientação gerada a partir de informações públicas. Apenas para referência.
Easy Search é um componente de busca altamente personalizável projetado para agilizar o desenvolvimento ao fornecer uma interface de busca flexível e reutilizável. Construído com Flutter, oferece funcionalidades prontas para filtrar listas, lidar com entradas em tempo real e suportar várias personalizações de UI. Ideal para aplicativos que exigem experiências de busca rápidas e intuitivas, reduz o código repetitivo e acelera a implementação de recursos. O pacote se integra perfeitamente a projetos existentes e suporta design responsivo em todas as plataformas.
Casos de uso
Implementando filtragem dinâmica de lista
Criando menus suspensores pesquisáveis
Construindo interfaces de busca instantânea
Melhorando a navegação do usuário em grandes conjuntos de dados
Adicionando funcionalidade de pesquisa a formulários
Principais recursos
Tratamento de entrada de pesquisa em tempo real
Interface e estilização personalizáveis
Suporte para filtragem assíncrona e síncrona
Widget de busca reutilizável
Leve e fácil integração
Indicado para
Desenvolvedores procurando implementação rápida de busca
Aplicativos com grandes conjuntos de dados que precisam de filtragem
aplicações com foco em UI que exigem componentes de pesquisa consistentes
Equipes priorizando velocidade de desenvolvimento e manutenibilidade
Considerações
Requer configuração manual para lógica de filtragem complexa
Suporte interno limitado para recursos avançados de busca, como correspondência aproximada
Nenhuma otimização específica de plataforma mencionada
Depende de gerenciamento externo de estado para casos de uso complexos
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
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.