Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 施加荷载后的颤振|荷载数据表_Flutter_Dart - Fatal编程技术网

Flutter 施加荷载后的颤振|荷载数据表

Flutter 施加荷载后的颤振|荷载数据表,flutter,dart,Flutter,Dart,我想在应用程序加载后加载数据表。但当应用程序自动加载时,数据表也会加载。我需要用按钮点击事件加载数据表 这是主要的小部件 小部件构建 Container( child: OutlineButton( child: Text('UPDATE',style: TextStyle(color: Colors.white)), color: Colors.orange, onPressed: () {abc();}, ), ),

我想在应用程序加载后加载数据表。但当应用程序自动加载时,数据表也会加载。我需要用按钮点击事件加载数据表

这是主要的小部件

小部件构建

Container(
    child: OutlineButton(
        child: Text('UPDATE',style: TextStyle(color: Colors.white)),
        color: Colors.orange,
        onPressed: () {abc();},
      ),
    ),
    itemCount==1 ? Container(
      padding: EdgeInsets.all(15.0),
      child: SingleChildScrollView(
        child: Column(
          children: [
            activityHistory()
          ],
        ),
      ),
    ):
我将该数据表添加到列表视图生成器中。我想通过点击按钮来调用它

调用数据表小部件

    return ListView.builder(
        shrinkWrap: true,
        physics: NeverScrollableScrollPhysics(),
        itemBuilder: (context, index) {
          if (itemCount != 0) {
            print("OK");
            return Container(
                child:DataTable(

                  sortAscending: sort,
                  sortColumnIndex: 0,
                  columns: [
                    DataColumn(
                        label: Text("Code", style: TextStyle(fontSize: 16)),
                        numeric: false,
                        onSort: (columnIndex, ascending) {
                          setState(() {
                            sort = !sort;
                          });
                          onSortColum(columnIndex, ascending);
                        }),
                    DataColumn(
                      label: Text("QTY", style: TextStyle(fontSize: 16)),
                      numeric: false,
                    ),
                  ],
                  rows: avengers
                      .map(
                        (avenger) => DataRow(
                        selected: selectedAvengers.contains(avenger),
                        cells: [
                          DataCell(
                            Text(avenger.name),
                            onTap: () {
                              print('Selected ${avenger.name}');
                            },
                          ),
                          DataCell(
                            Text(avenger.weapon),
                          ),
                        ]),
                  ).toList(),
                ),
            );
          }else {
            print("SizedBox");
            return SizedBox();
          }
        }
    );}
现在,数据表将随应用程序一起加载。但我希望它加载后,应用程序加载按钮点击


在应用程序加载和按钮单击事件之后,如何加载该表?

最初未单击按钮-显示大小框。单击按钮时,我们将回调函数传递给onPressed并显示ListView

setState(() {
   clicked = true;
});
像这样的

class _MyHomePageState extends State<MyHomePage> {
  bool clicked = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Load list on click"),
      ),
      body: activityHistory(),
      floatingActionButton: FloatingActionButton(
        onPressed: (){
          setState(() {
            clicked = true;
          });
        },
        child: Icon(Icons.play_arrow),
      ),
    );
  }
  
  Widget activityHistory() {
    if (!clicked) return SizedBox();
    
    return ListView(
      children: [
        Text("Item 1"),
        Text("Item 2"),
        Text("Item 3"),
        Text("Item 4"),
        Text("Item 5"),
      ],
    ); 
  }
}
class\u MyHomePageState扩展状态{
bool=false;
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“单击加载列表”),
),
正文:activityHistory(),
浮动操作按钮:浮动操作按钮(
已按下:(){
设置状态(){
单击=真;
});
},
子:图标(图标。播放箭头),
),
);
}
小部件活动历史记录(){
如果(!单击)返回SizedBox();
返回列表视图(
儿童:[
案文(“项目1”),
案文(“项目2”),
案文(“项目3”),
案文(“项目4”),
案文(“项目5”),
],
); 
}
}

谢谢你的回答。我用你的解决方案解决了这个问题。