More
Dropdown-Menüs in Flutter mit Backend-Daten von Back4app erstellen
12 min
einführung haben sie jemals schwierigkeiten gehabt, dynamische dropdown menüs in flutter zu erstellen? sie sind nicht allein! in diesem leitfaden zeigen wir ihnen, wie sie ein dropdown menü erstellen, das seine optionen von einem back4app backend abruft es ist einfacher, als sie denken, und am ende haben sie ein flexibles, datengestütztes dropdown in ihrer flutter app stellen sie sich vor, sie bauen eine app für einen pizzalieferdienst die verfügbaren beläge könnten sich häufig ändern, daher ist es nicht ideal, sie fest einzugeben hier kommt ein backend gesteuertes dropdown ins spiel! voraussetzungen bevor wir eintauchen, stellen sie sicher, dass sie ein back4app konto haben (keine sorge, die anmeldung ist kostenlos) und flutter auf ihrem computer installiert ist wenn sie neu bei flutter sind, schauen sie sich deren installationsanleitung an oh, und ein grundlegendes verständnis von dart und flutter widgets wird hilfreich sein, aber wir werden sie durch die kniffligen teile führen! schritt 1 – einrichten ihres back4app backends lassen sie uns unser back4app backend einrichten keine sorge, es ist nicht so einschüchternd, wie es klingt! zuerst melden sie sich bei ihrem back4app konto an kein konto? kein problem! gehen sie zu back4app com https //www back4app com und melden sie sich an – es ist kostenlos und schnell erstellen sie ein neues backend projekt sie können es etwas cleveres wie 'awesomedropdowndata' nennen oder einfach 'dropdownexample' wählen, wenn sie heute weniger kreativ sind jetzt erstellen wir eine parse klasse denken sie daran als eine spezielle tabelle für unsere dropdown optionen wir nennen sie 'options' (einfallsreich, oder?) fügen sie eine spalte mit dem namen optionvalue (string) hinzu, um unsere dropdown auswahlen zu speichern zeit, einige beispieldaten hinzuzufügen! lassen sie uns unsere 'options' klasse mit ein paar leckeren pizzabelägen füllen pepperoni champignons extra käse last but not least, holen sie sich ihre anwendungs id und den client schlüssel aus den projekteinstellungen wir benötigen diese, um unsere flutter app mit back4app zu verbinden schritt 2 – einrichten des flutter projekts lass uns ein neues flutter projekt erstellen öffne dein terminal, finde einen gemütlichen platz für dein projekt und führe aus flutter create dropdown example jetzt lass uns einige abhängigkeiten hinzufügen öffne pubspec yaml und füge diese zeilen hinzu dependencies flutter sdk flutter parse server sdk flutter ^3 1 0 # use the latest version available vergiss nicht, flutter pub get auszuführen, um diese pakete abzurufen! jetzt lass uns unserer flutter app sagen, wie sie mit back4app kommunizieren kann öffne lib/main dart und füge diesen code hinzu mach dir keine sorgen, wenn es ein wenig einschüchternd aussieht – wir werden es aufschlüsseln! import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk flutter dart'; void main() async { widgetsflutterbinding ensureinitialized(); const keyapplicationid = 'your back4app app id'; const keyclientkey = 'your back4app client key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize(keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( home dropdownmenuscreen(), ); } } denke daran, 'your back4app app id' und 'your back4app client key' durch deine tatsächlichen back4app anmeldeinformationen zu ersetzen diese sind wie der geheime handschlag zwischen deiner app und back4app! schritt 3 – erstellen des dropdown menüs jetzt kommt der spaßige teil – lass uns unser dropdown menü erstellen! hier ist der code für unser dropdownmenuscreen widget es sieht vielleicht nach viel aus, aber wir werden es stück für stück aufschlüsseln, versprochen! class dropdownmenuscreen extends statefulwidget { @override dropdownmenuscreenstate createstate() => dropdownmenuscreenstate(); } class dropdownmenuscreenstate extends state\<dropdownmenuscreen> { string? selectedoption; list\<string> options = \[]; bool loading = true; @override void initstate() { super initstate(); fetchoptions(); } future\<void> fetchoptions() async { final query = querybuilder\<parseobject>(parseobject('options')); final response = await query query(); if (response success && response results != null) { setstate(() { options = response results! map((e) => e get\<string>('optionvalue')!) tolist(); loading = false; }); } else { setstate(() { loading = false; }); } } @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('pizza topping selector')), body loading ? center(child circularprogressindicator()) center( child dropdownbutton\<string>( value selectedoption, hint text('choose your topping'), items options map((string option) { return dropdownmenuitem\<string>( value option, child text(option), ); }) tolist(), onchanged (string? newvalue) { setstate(() { selectedoption = newvalue!; }); }, ), ), ); } } puh, das ist ein stück code! aber keine panik – lass es uns stück für stück aufschlüsseln dieses widget macht ein paar wichtige dinge für uns es greift auf unser back4app backend zu und holt unsere liste von optionen denk daran wie an einen kellner, der dir die speisekarte in einem restaurant bringt während es die optionen abruft, zeigt es einen ladeindikator denn niemand mag es, auf einen leeren bildschirm zu starren, oder? sobald es die optionen hat, zeigt es sie in einem schönen dropdown menü an wenn du eine option auswählst, merkt es sich deine wahl cool, oder? und das beste daran ist, dass, wann immer du die optionen in back4app aktualisierst, deine app beim nächsten laden automatisch die neue liste anzeigt magie! schritt 4 – die app ausführen zeit für die stunde der wahrheit! führen sie ihre app mit flutter run wenn alles gut geht, sollten sie ein dropdown menü sehen, das mit den pizzabelägen gefüllt ist, die wir in back4app gespeichert haben fahren sie fort, wählen sie einen belag aus beachten sie, wie es sofort aktualisiert wird? das ist die kraft des zustandsmanagements in flutter! best practices für dropdown menüs mit backend integration ladezustände verwalten wie sie in unserem beispiel gesehen haben, verwenden wir einen ladeindikator, während wir daten abrufen es ist wie musik aufzulegen, während ihre gäste auf das abendessen warten – es macht das erlebnis einfach besser! fehlerbehandlung in einer realen app möchten sie einige fehlerbehandlungen hinzufügen was ist, wenn das internet ausfällt? oder back4app ein nickerchen macht? planen sie immer für das unerwartete! pagination verwenden wenn ihre dropdown liste länger wird als die liste der zutaten in einer chicago style pizza, sollten sie in betracht ziehen, eine pagination zu implementieren ihre benutzer (und deren geräte) werden es ihnen danken fazit sie haben gerade ein intelligentes, backend gestütztes dropdown menü in flutter erstellt! 🎉 warum versuchen sie nicht, dieses beispiel zu erweitern? vielleicht fügen sie einen button hinzu, der den ausgewählten belag zu einer pizza bestellung hinzufügt, oder versuchen sie, die optionen in einer anderen ui komponente anzuzeigen der himmel ist die grenze! und denken sie daran, wenn sie stecken bleiben oder fragen haben, sind die flutter und back4app communities super hilfreich scheuen sie sich nicht, um hilfe zu bitten! jetzt gehen sie hinaus und bauen sie großartige, dynamische uis! 💪 für weitere informationen besuchen sie die flutter dokumentation https //flutter dev/docs und back4app dokumentation https //www back4app com/docs viel spaß beim programmieren!