Home > OS >  Returning data from .pop() to use it anywhere
Returning data from .pop() to use it anywhere

Time:02-05

I have written a code that return bool type variables. Whether you like the movie. If you like the movie then it returns true, if you don't like the movie then it returns false. But since the .pop() method works in ElevatedButton, I cannot reach it from another class. How can I reach the value?

ElevatedButton(
          child: Text(
              "Go to new page"
          ),
          onPressed: () async {
            final answer = await Navigator.of(context).push<bool>(
                MaterialPageRoute(
                  builder: (context) {
                    return VideoScreen("Did you like the video?");
                },
              )
            );
          },
        ),

However, I cannot say like:

    ElevatedButton(
      child: Text(
          "Go to new page"
      ),
      onPressed: () async {
        final answer = await Navigator.of(context).push<bool>(
            MaterialPageRoute(
              builder: (context) {
                return VideoScreen("Did you like the video?");
            },
          )
        );
      },
    ),
    Text(answer)
  ],
);

So how can I reach that value? Callback or something? Thanks in advance

CodePudding user response:

Use can pass value to parent route while pop like

Navigator.of(context).pop(YourValue);

While you push make sure to await.

final result =  await Navigator.of(context)....;
print(result);
  • Related