2 votes

Flutter - Afficher une boîte/menu avec une liste lors de l'événement de changement d'un champ de texte

Je veux faire un autocomplétion pour entrer des données de localisation (villes)... J'ai donc un TextField où les utilisateurs entrent le nom de la ville et j'essaie de créer une boîte en dessous. TextField avec les suggestions de l'API au format JSON.

onChanged: (t) {
        setState(() {
          return Container(
              decoration:
                  BoxDecoration(border: Border.all(color: Colors.black)),
              child: ListView.builder(
                  itemBuilder: (BuildContext ctxt, int Index) {
                return new Text(litems[Index]);

              }));
        });
      },

Mais le problème est que je ne vois aucun conteneur de boîte et que je n'obtiens aucune erreur dans les journaux. Quelle pourrait être la raison pour laquelle cette boîte ne s'affiche pas ?

1voto

CopsOnRoad Points 4705

Vous devrez créer la boîte dans votre build() méthode. Et initialement, vous pouvez le cacher en utilisant Visibility widget. Et lorsque vous voulez l'afficher, vous pouvez faire _visible = true .

Je vous donne juste l'idée de résoudre votre problème puisque vous n'avez pas partagé de code.

@override
Widget build(BuildContext context) {
  return Column(
    children: <Widget>[
      YourTextFormField(),
      Visibility(
        visible: _visible,
        child: YourBox(),
      ),
      // other children
    ],
  );
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X