Actualisation écran avec Navigateur 2.0 et webservice

Bonjour les codeurs giraffe,

Depuis quelques jours en suivant avec application les cours de @mbritto sur « Directus » et « Flutter : Architecture et Navigation », je suis confronté à un problème qui me fait tourner en rond.

J’ai créé sur Directus une base de données avec des clients, je la télécharge dans mon application Flutter sans problème. Mon HomeScreen affiche la liste des clients (Avec un Listview.builder).

Quand je veux créer un nouveau client depuis l’application Flutter, j’arrive à naviguer vers un écran de création (avec des textfields pour remplir les infos) et mon POST vers mon webservice se passe avec succès. Jusque-là tout va bien.

C’est juste que lorsque j’enregistre le nouveau client, je reviens sur mon HomeScreen (via le Navigator 2.0), mais ma liste de clients n’est pas mise à jour avec le nouveau client que je viens de créer. Si je relance l’application, il est néanmoins bien présent.

J’ai tenté d’ajouter le client depuis Flutter à ma liste de clients, sauf qu’il n’a pas d’id généré par le webservice (nécessaire pour accéder à la page des infos du client).

Je ne sais plus dans quelle direction chercher pour solutionner ce problème.

Si quelqu’un peut m’orienter et me donner une piste de réflexion…

En vous remerciant

Décidément, il faut parfois savoir arrêter sa journée quand on a l’impression d’avoir tout exploré et qu’on est dans une impasse…
La nuit m’a porté conseil. Finalement c’était bête comme choux. En me remémorant mon post d’hier j’ai vu que la solution était dans le problème.
Suffisait de ne pas construire ma liste de clients avec un Listview.builder, mais l’intégrer dans un FutureBuilder. Et hop, le tour est joué!
Si ça peut servir…

1 « J'aime »

Effectivement il existe plusieurs solutions pour régler ce problème : l’idée principale consiste à déclencher un rechargement de la liste quand c’est nécessaire. Tu peux le faire systématiquement ou seulement après être allé sur des écrans de modification, etc.