首页 > 解决方案 > 对话框中提升按钮的设置状态(颤振)?

问题描述

对于提升按钮,我想通过 setState 显示可见/隐藏部分内容。但是,我可以在普通页面中执行此操作,但不能在对话框中执行此操作。这是代码:

                        bool addmaterial = true;

                        ClipRRect(
                                   borderRadius: BorderRadius.circular(50),
                                   child: SizedBox(
                                     height: 40,
                                     width: 400,
                                     child: ElevatedButton(
                                       style: ButtonStyle(
                                         backgroundColor:
                                             MaterialStateProperty.all<Color>(
                                                 Color(0xfff4f4f4)),
                                       ),
                                       onPressed: () {
                                         addmaterial = !addmaterial;
                                       },

标签: flutterdialog

解决方案


尝试在 showDialog 小部件中添加 StateFulBuilder。如果要更改 showDialog 内的状态

  showDialog(
    context: context,
    builder: (BuildContext context) {
      return StatefulBuilder(
        builder: (context, setState) {
          return AlertDialog(
            actions: <Widget>[],
            content: Container(),
          );
        },
      );
    },
  );

推荐阅读