How To Make Ternary Operator On OnPressed

I'm running a similar code to the code below

showPage is a bool. results is a string.

Actions on the page itself will decide the bool status and the string.

The onPressed below is the bottom button on the page I'm at. For the user to navigate.

I would like the onPressed to pop up a different dialog depending on the status of showPage, and print the results.

Code as follows:

onPressed: showPage? ()
{ShowDialogA(context:context); print(results);}
:{ShowDialogB(context:context); print(results);},

But I'm getting an error the first semi colon after ShowDialogB: 'expected to find }' Any thoughts why?

And if I remove the semi colon and do the following:

onPressed: showPage? ()
{ShowDialogA(context:context); print(results);}

I get the error: type 'Future' is not a subtype of type '(() => void)?'



You got error because on else command you forgot to put (). Try this:

onPressed: showPage
    ? () {
        ShowDialogA(context:context); print(results);
    : () {
        ShowDialogB(context:context); print(results);