| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- Taak 127-B — twee Custom FUNCTIONS voor de kloonknop
- ====================================================
- Custom Code-tab -> "+" -> Function. Twee losse functies.
- kloonTekst : argumenten bron (JSON) + sleutel (String, niet-nullable)
- Return Type String, **Nullable UIT**
- kloonLijst : argumenten bron (JSON) + sleutel (String, niet-nullable)
- Return Type String, **Is List AAN**, **Nullable UIT**
- ⚠️ Return type non-nullable houden. Bij een String? eist FlutterFlow een
- "Default Variable Value", en valueOrDefault substitueert die ook bij een LEGE
- string -- dan kun je een leeg veld nooit klonen.
- ⚠️ Geen getJsonField() gebruiken: die bestaat niet binnen een Custom Function
- (wel in een Custom Action). Gewone Map-toegang dus.
- ⚠️ Plat geschreven, bewust geen .map() of andere closure: FlutterFlow's
- validator struikelt over een genest (params) { ... }-patroon in de body en
- weigert dan op te slaan met "The function is empty or cannot be parsed".
- Vergeet Ctrl+S niet -- zonder expliciete save haalt de wijziging de export niet,
- ook al staat er "Synced".
- ⬇ PLAK VANAF HIER (kloonTekst) ⬇
- String kloonTekst(
- dynamic bron,
- String sleutel,
- ) {
- if (bron == null || bron is! Map) {
- return '';
- }
- final waarde = bron[sleutel];
- if (waarde == null) {
- return '';
- }
- return waarde.toString();
- }
- ⬇ PLAK VANAF HIER (kloonLijst) ⬇
- List<String> kloonLijst(
- dynamic bron,
- String sleutel,
- ) {
- final uit = <String>[];
- if (bron == null || bron is! Map) {
- return uit;
- }
- final waarde = bron[sleutel];
- if (waarde is List) {
- for (final item in waarde) {
- if (item != null) {
- uit.add(item.toString());
- }
- }
- }
- return uit;
- }
|