flutter实现更新弹窗内容例子(亲测有效)

来自:互联网
时间:2021-04-18
阅读:

什么是Flutter

Flutter 是谷歌推出的开发移动UI框架,可以快速的在IOS和Android上构建高质量的原生用户界面。

Flutter可以与现有的代码一起工作,并且Flutter是完全免费的,开源的。

总结来说:

Flutter是一款移动应用程序SDK,包含框架、widget和工具,为开发人员提供了一种在Android和iOS上构建和部署精美移动应用程序的简单高效的方式。

Flutter的优势

快速开发

毫秒级的热重载,修改后,您的应用界面会立即更新。使用丰富的、完全可定制的widget在几分钟内构建原生界面。

富有表现力和灵活的UI

快速发布聚焦于原生体验的功能。分层的架构允许您完全自定义,从而实现难以置信的快速渲染和富有表现力、灵活的设计。

原生性能

Flutter包含了许多核心的widget,如滚动、导航、图标和字体等,这些都可以在iOS和Android上达到原生应用一样的性能。

在flutter里面一般改变值使用的是

setState(() {
// do something
});

但是这个方法对于弹窗来说不起作用,有人说setState((){});这个方法改变的是当前窗口的值,而弹窗不属于当前窗口,所以不生效;

下面是改变弹窗内容的例子

var titleText=”标题改变前“

//弹窗方法
  void show(BuildContext context) async {
    showDialog(
        context: context,
        builder: (ctx) {
          return StatefulBuilder(builder: (context, state) {
            return AlertDialog(
              title: Text(titleText),
              content: Container(
                child: Text("我是内容"),
              ),
              actions: <Widget>[
                Container(
                  child: FlatButton(
                    child: Text('改变标题文字'),
                    onPressed: () {
                      state(() {
                        titleText = "改变标题之后";
                      });
                    },
                  ),
                ),
              ],
            );
          });
        });
  }

调用弹窗
 show(context) 
返回顶部
顶部