网络调用后如何修改 UI 以填充子小部件
Posted
技术标签:
【中文标题】网络调用后如何修改 UI 以填充子小部件【英文标题】:How to modify UI to fill children widget after network call 【发布时间】:2021-07-24 23:50:19 【问题描述】:我是 Flutter 的新手,请帮助我在执行网络调用后如何填充子小部件?
类 _BusResultScreenState 扩展状态
@覆盖 小部件构建(BuildContext 上下文)
helper myHelper = new helper();
myHelper.fetch(apiArg).then ((response)
if(response['type']=="success")
// Sample data from server in response.feedback
[
"name":"bus1","id":"54",
"name":"bus2","id":"55",
"name":"bus3","id":"56"
]
while()
SharedBusCard(arg1,arg2,...) // This has to go into children Widget
);
return Scaffold(
backgroundColor: Colors.grey.shade200,
body: SafeArea(
child: Padding(
padding: const EdgeInsets.all(12),
child: Column(
children: <Widget>[
Material(
elevation: 4,
child: Container(
... code
.... code
SizedBox(height: 15),
Expanded(
child: Container(
width: double.infinity,
height: double.infinity,
child: ListView(
children: <Widget>[
//I wanted to display results here
SharedBusCard(arg1,arg2,...) // this is the card to be looped
],
),
),
)
],
),
),
),
);
感谢您的帮助。
【问题讨论】:
【参考方案1】:使用FutureBuilder
小部件。它对网络调用很有用,您可以处理错误,在其中显示加载屏幕。 Here is documentation and a great video of using it.
【讨论】:
以上是关于网络调用后如何修改 UI 以填充子小部件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AppBar 中包装子小部件以获得更大的子高度和 Flutter 中的填充