美文网首页
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