Skip to content

Commit 1b67f2d

Browse files
committed
update forms doc
1 parent f9a2487 commit 1b67f2d

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

resources/docs/6.x/forms.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
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
586592
NyForm(
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-
"email": "[email protected]"
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

Comments
 (0)