v2.0.0
flutter_chips_input
Flutter-Bibliothek zum Erstellen von Eingabefeldern mit InputChips als Eingabemöglichkeiten.
106Likes 120030-Tage-Downloads70Pub-Punkte
Keine Plattformdaten
Flutter-Eingabefeld, das Material-Chips als Eingaben akzeptiert
{"sdk":"flutter"}{"sdk":"flutter"}^2.0.1Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
Flutter library for building input fields with InputChips as input options.
Pub Version GitHub Workflow Status Codecov CodeFactor Grade
Follow installation instructions here
import 'package:flutter_chips_input/flutter_chips_input.dart';
ChipsInput(
initialValue: [
AppProfile('John Doe', 'jdoe@flutter.io', 'https://d2gg9evh47fn9z.cloudfront.net/800px_COLOURBOX4057996.jpg')
],
decoration: InputDecoration(
labelText: "Select People",
),
maxChips: 3,
findSuggestions: (String query) {
if (query.length != 0) {
var lowercaseQuery = query.toLowerCase();
return mockResults.where((profile) {
return profile.name.toLowerCase().contains(query.toLowerCase()) || profile.email.toLowerCase().contains(query.toLowerCase());
}).toList(growable: false)
..sort((a, b) => a.name
.toLowerCase()
.indexOf(lowercaseQuery)
.compareTo(b.name.toLowerCase().indexOf(lowercaseQuery)));
} else {
return const <AppProfile>[];
}
},
onChanged: (data) {
print(data);
},
chipBuilder: (context, state, profile) {
return InputChip(
key: ObjectKey(profile),
label: Text(profile.name),
avatar: CircleAvatar(
backgroundImage: NetworkImage(profile.imageUrl),
),
onDeleted: () => state.deleteChip(profile),
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
);
},
suggestionBuilder: (context, state, profile) {
return ListTile(
key: ObjectKey(profile),
leading: CircleAvatar(
backgroundImage: NetworkImage(profile.imageUrl),
),
title: Text(profile.name),
subtitle: Text(profile.email),
onTap: () => state.selectSuggestion(profile),
);
},
)
FormField implementation (ChipsInputField) to be used within Flutter Form Widget