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

Flutter: How to make a widget disappear after a few seconds?

我想让我的小部件在几秒钟后消失,但它一直卡在等待中。

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 是一个列表。不知道有没有其他方法,如果有请告诉我。

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

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

您要显示一条指示 500 毫秒计数的消息然后将其隐藏,这似乎也很奇怪。

还有为什么人为延迟?

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

我希望 UI 显示消息 'fetching messages',然后在获取完成后更改为 'unread messages x'。

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