flushbar icon indicating copy to clipboard operation
flushbar copied to clipboard

How do i add a dissmiss button to the Flushbar

Open nnyamekye opened this issue 4 years ago • 2 comments

I'm trying to show a Flushbar when a TimeoutException is thrown. My implementation can be seen below.

My IDE complains that "Local variable 'flush' can't be referenced before it is declared." which make sense but i see a lot of examples where people do this. Please help

on TimeoutException {
      var flush = Flushbar(
        title: 'Server Unavailable',
        backgroundColor: primaryColor,
        message: '😓 Sorry the server is currently unavailable',
        flushbarPosition: FlushbarPosition.TOP,
        margin: EdgeInsets.all(8),
        borderRadius: 8,
        icon: Icon(
          Icons.error_outline,
          size: 28.0,
          color: Colors.white,
        ),
        mainButton: FlatButton(
          onPressed: () {
            flush.dismiss(true); // result = true
          },
          child: Text(
            "DISMISS",
            style: TextStyle(
                color: Colors.white,
                fontWeight: FontWeight.bold,
                fontSize: 10
            ),
          ),
        ),
    ).show(context);
    }

nnyamekye avatar Dec 04 '20 19:12 nnyamekye

Hi @nnyamekye ,

This is more like a Dart language issue than Flushbar question. I had resolved it by defining local variable first which cannot be assigned right away. 🤷‍♂️

Flushbar flush;
flush = Flushbar<T>(
  mainButton: IconButton(
    onPressed: () {
      flush.dismiss(true);
    },
    color: Colors.red,
    icon: Icon(Icons.close),
  ),
);

Hope this helps.

Matej-Hlatky avatar Dec 07 '20 09:12 Matej-Hlatky

Use Navigator.pop(context)

rdani91 avatar Dec 23 '20 01:12 rdani91