A highly customizable simple and easy to use flutter Widget to add a searchfield to your Flutter Application.This Widget allows you to search and select from list of suggestions.
Think of this widget like a dropdownButton field with an ability
list of all the properties mentioned below
dependencies:
searchfield: ^0.3.0
import 'package:searchfield/searchfield.dart';
Use the Widget
SearchField(
suggestions: [
'United States',
'America',
'Washington',
'India',
'Paris',
'Jakarta',
'Australia',
'Lorem Ipsum'
],
),
Form(
key: _formKey,
child: SearchField(
suggestions: _statesOfIndia,
hint: 'SearchField Sample 2',
searchStyle: TextStyle(
fontSize: 18,
color: Colors.black.withOpacity(0.8),
),
validator: (x) {
if (!_statesOfIndia.contains(x) || x.isEmpty) {
return 'Please Enter a valid State';
}
return null;
},
searchInputDecoration:
InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.black.withOpacity(0.8),
),
),
border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.red),
),
),
maxSuggestionsInViewPort: 6,
itemHeight: 50,
onTap: (x) {
print(x);
},
),
),
controller
: TextEditing Controller to interact with the searchfield.suggestions
: list of Strings to search from.(Mandatory)initialValue
: The initial value to be set in searchfield when its rendered, if not specified it will be empty.onTap
: callback when a sugestion is tapped it also returns the tapped value.hint
: hint for the search Input.searchStyle
: textStyle for the search Input.suggestionStyle
: textStyle for the SuggestionItem.searchInputDecoration
: decoration for the search Input similar to built in textfield widget.suggestionsDecoration
: decoration for suggestions List with ability to add box shadow background color and much more.itemHeight
: height of each suggestion Item, (defaults to 35.0).marginColor
: Color for the margin between the suggestions.maxSuggestionsInViewPort
: The max number of suggestions that can be shown in a viewport.You are welcome to contribute to this package,contribution doesnt necessarily mean sending a pull request it could be
If you feel generous and confident send a PR but make sure theres an open issue if not feel free to create one before you send a PR. This helps Identify the problem and helps everyone to stay aligned with the issue :)
Author: maheshmnj
Source Code: https://github.com/maheshmnj/searchfield
#flutter #dart #mobile-apps