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”),
],
);
}
}
谢谢你的回答。我用你的解决方案解决了这个问题。