Flutter:如何使小部件在几秒钟后消失?

时间:2020-06-28 17:38:58

标签: flutter flutter-layout flutter-test

我想让我的小部件在几秒钟后消失,但是它一直处于等待状态。

if (unread != 0 && (getMessageObjects.length - count) == unread - 1) {
          _groupedMessages.add(
            FutureBuilder(
              future: Future.delayed(Duration(milliseconds: 500)),
              builder: (c, s) => s.connectionState == ConnectionState.done
                  ? Container(
                      child: Chip(
                        label: Text('Finished'),
                      ),
                    )
                  : Center(
                      child: Chip(
                        label: Text('${unread.toString()} unread messages'),
                      ),
                    ),
            ),
          );
          // reset
        }

_groupedMessages是一个列表。我不知道是否还有其他方法,但是请告诉我是否存在。

1 个答案:

答案 0 :(得分:0)

您的代码看起来很奇怪,但我们需要查看其余代码。

首先想到的是,您确定未来不会不断被重建,因此没有机会完成吗?

您还想显示一条消息,指出500ms的计数然后隐藏它,这似乎也很奇怪。

为什么还要人为地延误?

我猜测您需要从服务器获取计数,在这种情况下,将来应该包含对服务器的调用并在返回结果时完成。

我希望UI会显示一条消息“正在提取消息”,然后在提取完成后更改为“未读消息x”。

但是鉴于您提供的上下文数量有限,这些只是猜测。