2323- [ Form Validation] ( #form-validation " Form Validation ")
2424- [ Form Casts] ( #form-casts " Form Casts ")
2525- [ Managing Form Data] ( #managing-form-data " Managing Form Data ")
26+ - [ Initializing Data] ( #initializing-data " Initializing Data ")
2627- [ Submit Button] ( #submit-button " Submit Button ")
2728- [ Form Styling] ( #form-styling " Form Styling ")
2829- [ Advanced Features] ( #advanced-features " Advanced Features ")
@@ -581,16 +582,21 @@ final Map<String, dynamic> formCasts = {
581582
582583## Managing Form Data
583584
585+ In this section, we'll cover how to manage form data in Nylo. Everything from setting initial data to updating and clearing form fields.
586+
587+ <a name =" initializing-data " ></a >
588+ <br >
589+
584590### Setting Initial Data
585591``` dart
586592NyForm(
587593 form: form,
588594 loadData: () async {
589- // final userData = api<ApiService>
590- ;
595+ final userData = await api<ApiService>((request) => request.getUserData());
596+
591597 return {
592- "name": "John Doe" ,
593- 598+ "name": userData?.name ,
599+ "email": userData?.email
594600 };
595601 }
596602)
@@ -605,6 +611,32 @@ NyForm(
605611)
606612```
607613
614+ You can also set initial data directly in the form class:
615+
616+ ``` dart
617+ class EditAccountForm extends NyFormData {
618+ EditAccountForm({String? name}) : super(name ?? "edit_account");
619+
620+ @override
621+ get init => () async {
622+ final userResource = await api<ApiService>((request) => request.getUserData());
623+
624+ return {
625+ "first_name": userResource?.firstName,
626+ "last_name": userResource?.lastName,
627+ "phone_number": userResource?.phoneNumber,
628+ };
629+ };
630+
631+ @override
632+ fields() => [
633+ Field.text("First Name"),
634+ Field.text("Last Name"),
635+ Field.number("Phone Number"),
636+ ];
637+ }
638+ ```
639+
608640### Updating Data
609641``` dart
610642// Update single field
0 commit comments