easy_auto_form 0.0.2+6
easy_auto_form: ^0.0.2+6 copied to clipboard
EasyAutoForm is a Flutter package that generates a Form based on a given entity, supporting a variety of entity types and input types.
Mission #
The mission of this package is to provide a simple simple simple way to generate forms based on a given entity. Sometimes you just want to generate a form based on a given entity, and you don't want to write a lot of code to do it (like validation, initial values, controllers, ecc). This package aims to make that process as simple as possible. Hope you enjoy it!
Introduction #
A widget that generates a form based on a given entity.
The EasyAutoForm widget is designed to work with any entity that is represented as a Map<String, dynamic>.
This means that it can be used with a wide variety of data types, including but not limited to:
- User profiles
- Product listings
- Blog posts
- Contact information
- Survey responses
The
EasyAutoFormwidget will generate input fields for each key in the entity map, and will automatically determine the appropriate input type based on the value type.
Features #
- Supports a variety of entity types, including user profiles, product listings, blog posts, contact information, and survey responses.
- Includes options to ignore specific fields, override input decoration for different data types, and handle form submission and cancellation.
Getting started #
- Add the dependency to your
pubspec.yamlfile:
dependencies:
easy_auto_form: ^latest
- Install it
You can install packages from the command line:
$ flutter pub get
- Import it
Now in your Dart code, you can use:
import 'package:easy_auto_form/easy_auto_form.dart';
Usage #
The EasyAutoForm widget is designed to work with any entity that is represented as a Map<String, dynamic>.
This means that it can be used with a wide variety of data types, including but not limited to:
- User profiles
- Product listings
- Blog posts
- Contact information
- Survey responses
The
EasyAutoFormwidget will generate input fields for each key in the entity map, and will automatically determine the appropriate input type based on the value type.
import 'package:easy_auto_form/easy_auto_form.dart';
class User {
String name;
String email;
String password;
User({this.name, this.email, this.password});
Map<String, dynamic> toMap() {
return {
'name': name,
'email': email,
'password': password,
};
}
}
final user = User(name: 'John Doe', email: 'john@gmail.com', password '123456');
EasyAutoForm(
entity: user.toMap(),
onSaved: (entity) {
// Do something with the entity
},
onCancel: () {
// Do something when the form is cancelled
},
fieldsSettings: {
settings: [
FieldSetting(
inputType: FieldInputType.autocomplete,
autocompleteSource: AutocompleteSource(
source: () async => ['John Doe', 'Jane Doe'],
),
),
// Other settings
],
},
);
Additional information #
Input types #
Stringvalues will be rendered asTextFormFields.boolvalues will be rendered asCheckboxes.intanddoublevalues will be rendered asTextFormFields withkeyboardTypeset toTextInputType.number.DateTimevalues will be rendered asDateTimeFields.Listvalues will be rendered according to their FieldSetting (select or autocomplete).
Examples #
For more examples of how to use easy_auto_form, check out the example directory in the package source code.
Contributing #
If you find a bug or have a feature request, please open an issue on the easy_auto_form GitHub repository. If you'd like to contribute code, please submit a pull request.