ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

flutter Dialog关闭后刷新

2022-01-19 21:34:36  阅读:275  来源: 互联网

标签:return Dialog Text child names context 刷新 flutter setState


import 'package:flutter/material.dart';

void main() {
  runApp(HomePage());
}

class HomePage extends StatelessWidget{
  @override
  Widget build(BuildContext context){
    return MaterialApp(
      home: MyApp(),
    );
  }
}


class MyApp extends StatefulWidget {
  @override
  _MyAppState createState()=> _MyAppState();
}

class _MyAppState extends State<MyApp>{
  List<Map> names = [{'NO':1,'rowcode':'rowcode1'}];
  @override
  Widget build(BuildContext context){

    return Scaffold(
      appBar: AppBar(
        title: Text('ssss'),
      ),
      body: Column(
        children: [
          Container(
            child: MaterialButton(
              child: Text('ssss'),
              onPressed: ()async{
                  await showDialog(
                    context: context,
                    builder: (BuildContext context){
                      return StatefulBuilder(
                      builder:(context, setState) {
                        return SimpleDialog(
                          title: Text('ssssssss'),
                          children: [
                            Container(
                              child: Text('sssddddddddddd'),
                            ),
                            Row(
                              children: [
                                MaterialButton(child: Text('confirm'),
                                  onPressed: () {
                                      names[0]['qty'] = 123;
                                      names.add({
                                        'NO': 2,
                                        'rowcode': 'rowcode2',
                                        'qty': 33
                                      });
                                      Navigator.pop(context);
                                      // setState((){});
                                    },
                                  ),
                                ],
                              ),
                            ],
                          );
                          }
                        );
                      }
                    ).then((value) => setState((){}));
                  },
            ),
          ),
          Container(
            child: ListView.builder(
              itemCount: names.length,
              shrinkWrap: true,
              itemBuilder: (BuildContext context, int index){
                return ListTile(
                  leading: Icon(Icons.widgets),
                  title: Text('${names[index]['NO']}'),
                  subtitle: Text('${names[index]['rowcode']}'),
                  trailing: Text('${names[index]['qty']}'),
                );
              },
            ),
          ),
        ],
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: (){
          setState(() {
            print(names);
          });
        },
      ),
    );
  }
}

  

标签:return,Dialog,Text,child,names,context,刷新,flutter,setState
来源: https://www.cnblogs.com/pythonClub/p/15824183.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有