美文网首页
Flutter 如何更新Dialog中的状态

Flutter 如何更新Dialog中的状态

作者: AR7_ | 来源:发表于2020-09-22 09:59 被阅读0次

在使用Flutter过程中,出现showDialog更新不了UI的问题,现在要实现的是一个下载进度条的功能 ,所以需要实时刷新进度条,然后遇到的问题就是使用setState没有生效,看了一下网上的资料,就是说Dialog不是类似Android里一个弹窗而已,在Flutter里它和页面,也就是StatefulWidget/StatelessWidget是平级的,也就是使用的是不同的setState,那么当前使用setState指向的还是当前页面,当然不生效了,知道了这个问题,那么我们只需要使用showDialog的setState来更新进度条的数值即可。

    showDialog(
      barrierDismissible: false,
      context: context,
      builder: (context) {
        return StatefulBuilder(
          builder: (context, state) {
            mState = state;
            ......

我们只需要在builder中获取到这个showDialog的state,就可以全局使用了。

参考博文

相关文章

网友评论

      本文标题:Flutter 如何更新Dialog中的状态

      本文链接:https://www.haomeiwen.com/subject/oqniyktx.html