解决flutter showDialog下拉框,复选框等无法及时响应的问题

使用StatefulBuilder

bash 复制代码
  _showDialogr() {
    showDialog(
      context: context,
      builder: (BuildContext ctx) {
        return StatefulBuilder(
          builder: (BuildContext context, StateSetter setState) {
            return Scaffold(
              body: Column(
                children: <Widget>[
                  Container(
                    height: 400,
                    padding: EdgeInsets.fromLTRB(8, 0, 8, 8),
                    decoration: BoxDecoration(
                      borderRadius: BorderRadius.circular(20),
                      color: Colors.white,
                    ),
                    child: Column(
                      mainAxisSize: MainAxisSize.min,
                      children: <Widget>[
                        SizedBox(
                          height: 15,
                        ),
                        Expanded(
                          flex: 6,
                          child: Column(
                            mainAxisSize: MainAxisSize.min,
                            children: <Widget>[
                              Row(
                                children: [
                                  Expanded(
                                    flex: 8,
                                    child: DropdownButton<String>(
                                      items: getList(),
                                      hint: Text('请选择'),
                                      value: Id,
                                      onChanged: (String? str) {
                                        setState(() {
                                         Id = str;
                                        });
                                      },
                                      elevation: 24,
                                      style: TextStyle(
                                        color: Colors.black,
                                        fontSize: 16,
                                      ),
                                    ),
                                  ),
                                ],
                              ),
                            ],
                          ),
                        ),
                      ],
                    ),
                  ),
                ],
              ),
            );
          },
        );
      },
    );
  }
相关推荐
IT_陈寒1 分钟前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
踩着两条虫19 分钟前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
kyriewen20 分钟前
Godot 全面封杀 Vibe Coding,作为每天用 AI 写代码的人,我反而觉得这是件好事
前端·ai编程·claude
前进的搬砖er32 分钟前
4.three.js的几何体、纹理、光源、材质、uv属性 讲义
前端
前端毕业班1 小时前
uni-app 小程序支持 teleport 了
前端·javascript·vue.js
东风破_1 小时前
LLM 为什么记不住你?无状态、messages 和上下文管理
javascript·人工智能
梨子同志1 小时前
qiankun
前端
梨子同志2 小时前
Nginx
前端
梨子同志2 小时前
NestJS
前端
梨子同志2 小时前
Next.js
前端