Provides you a textfield and accompanying controller that users can visually type separated lists into, such as a list of email recipients.
Features
- Textfield that creates a list as you type
- Handy controller than can be used with other text fields for more customisation.
- Remove from list with normal backspace.
Getting started
Add the package to your project pubspec.yaml
listtextfield: any
Import the package in the project file
import "package:listtextfield/listtextfield.dart";
Usage
Create a ListTextEditingController
with the list separator users should type.
final _controller = ListTextEditingController(',');
You may also initialise your controller with some items in the list, by providing the optional set of strings.
final _controller = ListTextEditingController(',', {'InitialItem1', 'InitialItem2',});
Add a ListTextField
widget to your widget tree and supply the controller
Widget build(BuildContext context){
return Column(
children: [
ListTextField(
controller: _controller,
itemBuilder: (ctx, item){
// Build how items in the list should appear
return Chip(
label: Text(value),
onDeleted: () => _controller.removeItem(value),
);
}
),
],
);
}
You can access the typed list by calling items
on the controller
final myItems = _controller.items;
See example for more information
Additional information
PRs are welcome. Find an issue? Report it. If you find the package useful or interesting, please like 👍🏼 it or drop a ⭐️ on github.
MajorE 👽♦️