繁体   English   中英

如何从警报对话框中获取值并设置为 Flutter 中的按钮?

[英]How to get value from alert Dialog box and set into a button in Flutter?

我有一个页面,有一个按钮。 单击此按钮会打开警报对话框,其中包含一个列表。 在点击其中一个列表项时,警报对话框将关闭,并且主页就在那里。 就像关闭对话框一样,我想将所选项目值设置到按钮中。 为此,应该重建此按钮小部件,但我无法这样做。 如何实现这个功能。

在我的页面上,我调用了这个 mainData(),它在屏幕上创建了一个按钮小部件。

 Widget mainData() {
    return  RaisedButton(
      child: Text('$tempVal'),
      onPressed: () {
        showDialog(
            context: context,
            builder: (BuildContext context){
              return AlertDialog(
                content: StatefulBuilder(builder:
                    (BuildContext context,
                    StateSetter setState) {
                  _setState = setState;
                  return Column(
                    children: <Widget>[
                      Container(
                        child: //
                        // new SearchBar(mainData: mainData, list: list,),
                        list.length > 0 
                            ? ListView.builder(
                          itemCount: list.length,
                          shrinkWrap: false,
                          itemBuilder: (item, i){
                            return Card(
                              child: Column(
                                children: <Widget>[
                                  Ink(
                                    child: InkWell(
                                      onTap: () {
                                        setState(() {
                                         tempVal = list[i].code;
                                        });
                                      },
                                      child: ListTile(
                                        title: Text(list[i].value),
                                      ),
                                    ),
                                  ),
                                ],
                              ),
                            );
                          },
                        ) 
                      ),
                    ],
                  );
                },
                ),
              );
            }
        );
      },
    );
    }

从列表中获取值后如何刷新按钮小部件?

尝试在 listTile 中使用 ontap 方法而不是 inkwell

ListTile(onTap: (){},title...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM